mcpField
C
coolify

coolify

github.com/oakoss云与 DevOps20362 次安装10 周前更新
代码仓库

关于 coolify

coolify 是用于在自托管 Coolify 基础设施上部署和管理应用、数据库及服务的技能,涵盖 REST API 操作、构建配置和 CI/CD 部署流程。

主要功能

  1. 01通过 REST API 管理应用
  2. 02创建和更新应用设置
  3. 03通过 API 或 Webhook 触发部署
  4. 04配置 Nixpacks、Dockerfile 和 Compose 构建
  5. 05设置域名、环境变量和健康检查

适用场景

  1. 01向自托管基础设施部署应用
  2. 02自动化 CI 流水线部署
  3. 03检查和管理 Coolify 资源
  4. 04配置多服务 Compose 部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill coolify

安装后在 Claude Code 中输入/coolify确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-patterns.md
build-packs.md
deployment-strategies.md

详细介绍

Coolify

概述

Coolify 是一个可自托管的 PaaS(Vercel/Netlify 的替代方案),可在你自己的基础设施上部署应用、数据库和服务。它提供 REST API 以便以编程方式进行控制,支持多种构建包,并使用 Traefik 进行反向代理和 SSL。

适用场景: 将应用部署到自托管基础设施,通过 API 管理数据库和服务,通过 CI/CD 自动化部署,以及在不受供应商锁定的情况下进行自托管。

不适用场景: 初次安装 Coolify 服务端(请通过浏览器使用官方安装脚本)、管理 Coolify 自身的基础设施(Postgres、Redis,由内部管理),或者托管平台(Vercel、Railway)已能满足需求且无需自托管的情况。

快速参考

模式方案关键点
API 身份验证Authorization: Bearer <token> header在控制面板中创建令牌,并配置权限范围
列出应用GET /api/v1/applications返回所有应用及其状态和配置
触发部署GET /api/v1/deploy?uuid=<app>&force=true或使用每个应用的 webhook URL
创建应用POST /api/v1/applications/public需要 project_uuid、server_uuid、env_name
更新应用PATCH /api/v1/applications/<uuid>接受构建、健康检查、域名和限制字段
自动部署在 Advanced > General 中启用每次向已配置的分支推送时部署
Webhook 部署curl GET <webhook_url> -H "Authorization: Bearer ..."通过 CI 流水线控制部署
GitHub Actions 部署构建镜像、推送到镜像仓库、触发 webhook在部署前全面控制构建和测试
Nixpacks 构建从源代码自动检测对受支持的语言无需配置
Dockerfile 构建将构建包设为 dockerfile全面控制构建流程
Compose 构建以 docker-compose.yaml 作为事实来源使用 Coolify 标签构建多服务堆栈
环境变量通过 API 或控制面板按环境配置在 Compose 中通过 ${VAR} 语法进行插值
域名路由使用 fqdn 字段或 Compose 中的 Traefik 标签通过 Let's Encrypt 自动配置 SSL
健康检查通过 API 配置路径、间隔和重试次数running:healthy 状态的必要条件

常见错误

错误正确做法
API 返回“Unauthenticated”除 Bearer 令牌外,还要添加 Accept: application/json 标头
无法读取敏感字段(自动部署等)令牌需要 view:sensitive 或 * 权限范围
未触发自动部署确认 GitHub App 已连接,并已在 Advanced 中启用自动部署
使用没有部署权限的 API 令牌令牌需要明确的 deploy 权限才能触发部署
Compose 服务的健康检查失败为非 HTTP 服务添加 exclude_from_hc: true 标签
Webhook 部署未添加身份验证标头调用 webhook 时始终添加 Authorization: Bearer <token>
构建时无法使用环境变量在 Advanced 菜单中使用构建参数,而非运行时环境变量
Compose 服务之间无法通信在同一堆栈网络中使用服务名称作为主机名

委派

  • API 探索:使用 Explore Agent 发现现有的 Coolify 资源
  • Dockerfile 优化:使用 Task Agent 检查用于 Coolify 部署的 Dockerfile
  • CI/CD 流水线设计:使用 Plan Agent 制定部署工作流策略

如果有 docker 技能,请将 Dockerfile 编写、多阶段构建和镜像优化委派给它。 如果有 github-actions 技能,请将工作流语法和 CI 流水线模式委派给它。 如果有 ci-cd-architecture 技能,请将部署策略和环境晋级委派给它。

参考资料

评论

支持 Markdown