Files
Claude-Skills/SKILL.md
T
2026-07-14 02:56:59 +00:00

4.3 KiB

name, description
name description
coolify-deploy Deploy new projects to the local self-hosted Coolify instance end-to-end (scaffold Dockerfile/compose, create GitHub repo, push, register + deploy via Coolify API, verify, rollback). Wraps the local Proxmox & Coolify Manager repo at H:\MegaSync\Proyectos\Proxmox & Coolify Manager. Use when the user says "deploy this to Coolify", "ship this project", "create a GitHub repo and deploy", or "roll back the Coolify app".

Coolify Deploy (global wrapper)

This is the global entry point. The actual skill lives in the local repo:

H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\

Always load the local SKILL.md and TOOLS.md from there — they have the full command reference, hard rules, and pipeline details. This wrapper exists so the skill is discoverable from any project on this machine.

⚠️ Instance reality (verified 2026-07, coolify.urieljareth.org v4.1.2)

The live instance's REST API is partial: the whole /applications/* namespace is 404. You cannot create/configure a git build-from-source app via the API here — that must be done through the web UI with Playwright (deploy_skill/scripts/coolify-ui/, needs COOLIFY_EMAIL/COOLIFY_PASSWORD in .env.local.ps1). What works via API: /resources, /projects, /security/keys, /services, GET /deploy?uuid=, GET /deployments/{uuid}. Read H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\references\coolify-4.1.2-notes.md before deploying — it captures the full working flow and gotchas (UTF-8 BOM breaks Coolify's YAML parser; "Reload Compose File" is mandatory; pin per-service domains or you get 503; don't queue concurrent deploys; PowerShell [IO.File]::ReadAllText for key payloads).

Quick start

# From any directory — cd into the manager repo first
cd "H:\MegaSync\Proyectos\Proxmox & Coolify Manager"
. .\.env.local.ps1

# Full pipeline on a target project (single-app, Dockerfile)
.\deploy_skill\scripts\Publish-ProjectToCoolify.ps1 `
    -AppPath <path-to-your-project> `
    -AppName <repo-name> `
    -Fqdn https://<name>.urieljareth.org `
    -Stack node -AppPort 8080 -Init

# Multi-container stack (docker-compose.coolify.yml) — POST /services
.\deploy_skill\scripts\New-CoolifyService.ps1 `
    -AppPath <path-to-your-project> `
    -AppName <repo-name> `
    -ComposeFile docker-compose.coolify.yml `
    -Fqdn https://<name>.urieljareth.org `
    -PrimaryService web -EnvFile <path-to-.env.coolify> -InstantDeploy

# Operational verification of an already-deployed service
# (the "definition of done": HTTP 200 + real Chromium page render)
.\deploy_skill\scripts\Test-ServiceOnline.ps1 `
    -Fqdn https://<name>.urieljareth.org -ExpectTitle "<regex>" -Retries 8

What this skill depends on

  • The local repo at the path above must exist (it does on this machine).
  • .env.local.ps1 in that repo must define:
    • COOLIFY_TOKEN (Coolify API token)
    • GITHUB_TOKEN (GitHub PAT, scope repo)
  • Operational verification (Test-ServiceOnline.ps1) needs Node + Playwright. Run npm install once in the manager repo root. Chromium binaries cache at %LOCALAPPDATA%\ms-playwright. If Node is missing, the browser layer is auto-skipped (curl-only).
  • Git push uses Windows Credential Manager (wincred) — verified working for the urieljarethbusiness-cpu GitHub account.

Reference paths

What Where
Local SKILL.md H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\SKILL.md
Local TOOLS.md H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\TOOLS.md
Pipeline scripts H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\scripts\
Templates H:\MegaSync\Proyectos\Proxmox & Coolify Manager\deploy_skill\references\templates\
Compatibility rules H:\MegaSync\Proyectos\Proxmox & Coolify Manager\docs\AGENTS-coolify-apps.md
Coolify API reference H:\MegaSync\Proyectos\Proxmox & Coolify Manager\coolify_skill\references\ops\

Safety

  • Default to read-only: run Test-PreDeployChecklist.ps1 before any push or Coolify write.
  • Every mutating step asks for confirmation. -Force skips prompts.
  • Never write secrets into Markdown or commit .env.local.ps1.
  • Rollback never force-pushes to main.

For full safety policy and workflows, read the local SKILL.md.