360 Secure SkillHub
360 安全技能中心

Coolify Deploy

该 Skill 指导通过 Coolify CLI 创建 GitHub 应用、配置环境变量、强制重新部署并排查不健康部署;校验应用状态与 HTTP 200 后视为成功,仅在 Coolify 创建受阻时回退到直接 Docker 与 Traefik 路由。

heldinhow
heldinhow
热度 79.70
最近更新 2026-05-20 03:30:54
分类:开发依赖:代码执行 / 第三方 API应用场景:DevOps / API 集成 / 自动化脚本 / 工作流 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add coolify-deploy
Metadata
name
coolify-deploy
description
Create, deploy, update, and troubleshoot Coolify applications with the official Coolify CLI. Use when user wants deploy via Coolify, app creation from GitHub, redeploy on push, env vars, logs, or fallback Docker/Traefik routing.

Coolify Deploy

Use the official coolify CLI first. Use direct Docker + Traefik only as fallback.

Core Rules

  1. Prefer CLI-managed apps so deployments appear in Coolify UI and support push-to-deploy.
  2. Use app create github for private GitHub repos and the correct GitHub App UUID.
  3. Verify both app status and HTTP 200 before calling a deploy finished.
  4. Use direct Docker only if Coolify creation is blocked.

When to Use

  • Creating a new Coolify app
  • Redeploying after code changes
  • Debugging unhealthy deployments
  • Adding env vars or checking deployment logs

Required Info

  • server_uuid
  • project_uuid
  • environment_name (usually production)
  • github_app_uuid for private repos
  • repo, branch, domain, exposed port

Preferred Workflow

1. Verify CLI + context

coolify context verify
coolify github list --format=json
coolify app list --format=json

2. Create app from private GitHub repo

coolify app create github \
  --server-uuid <server_uuid> \
  --project-uuid <project_uuid> \
  --environment-name production \
  --github-app-uuid <github_app_uuid> \
  --git-repository owner/repo \
  --git-branch main \
  --build-pack dockerfile \
  --ports-exposes 80 \
  --name <app-name> \
  --domains http://<app>.<ip>.sslip.io \
  --instant-deploy \
  --format=json

3. Add env vars when needed

coolify app env create <app-uuid> --key PORT --value 80 --format=json

4. Force redeploy

coolify deploy uuid <app-uuid> --force --format=json

5. Verify success

coolify app get <app-uuid> --format=json
coolify app deployments list <app-uuid> --format=json
curl -I http://<domain>

GitHub App Integration

List configured GitHub apps:

coolify github list --format=json

Use the UUID from this output in coolify app create github --github-app-uuid ....

If a repo is private and public creation fails, switch to github creation.

Common Issues

App is exited:unhealthy

Check deployment logs first:

coolify app deployments list <app-uuid> --format=json
coolify app deployments logs <app-uuid>

Then verify:

  • wrong GitHub App UUID
  • wrong Dockerfile path
  • missing env vars like PORT
  • build/runtime errors

Vite/Rollup native module error

Use Debian-based Node image:

FROM node:20-slim AS builder

Avoid Alpine for builds that need native Rollup modules.

nginx template expects ${PORT}

Set env var in Coolify:

coolify app env create <app-uuid> --key PORT --value 80 --format=json

Domain responds but UI still says running:unknown

Treat HTTP 200 + finished deployment as success. Coolify may still show running:unknown.

Fallback: Direct Docker Deploy

Only use when CLI-managed app creation is blocked. See references/coolify-api.md for direct Docker/Traefik fallback patterns.

Quick Reference

coolify github list --format=json
coolify app create github --server-uuid <server> --project-uuid <project> --environment-name production --github-app-uuid <ghapp> --git-repository owner/repo --git-branch main --build-pack dockerfile --ports-exposes 80 --name myapp --domains http://myapp.<ip>.sslip.io --instant-deploy --format=json
coolify app env create <uuid> --key PORT --value 80 --format=json
coolify deploy uuid <uuid> --force --format=json
coolify app deployments list <uuid> --format=json
curl -I http://myapp.<ip>.sslip.io