{
  "schemaVersion": "1.0",
  "item": {
    "slug": "coolify",
    "name": "Coolify",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/visiongeist/coolify",
    "canonicalUrl": "https://clawhub.ai/visiongeist/coolify",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/coolify",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=coolify",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/coolify.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "coolify",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T03:25:19.937Z",
      "expiresAt": "2026-05-09T03:25:19.937Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=coolify",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=coolify",
        "contentDisposition": "attachment; filename=\"coolify-2.1.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "coolify"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/coolify"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/coolify",
    "agentPageUrl": "https://openagent3.xyz/skills/coolify/agent",
    "manifestUrl": "https://openagent3.xyz/skills/coolify/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/coolify/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Coolify API Skill",
        "body": "Comprehensive management of Coolify deployments, applications, databases, services, and infrastructure via the Coolify API."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when the user needs to:\n\nDeploy applications to Coolify\nManage application lifecycle (start, stop, restart)\nView application logs\nCreate and manage databases (PostgreSQL, MySQL, MongoDB, Redis, etc.)\nDeploy Docker Compose services\nManage servers and infrastructure\nConfigure environment variables\nTrigger and monitor deployments\nManage GitHub App integrations\nConfigure SSH private keys"
      },
      {
        "title": "Prerequisites",
        "body": "Coolify API Token — Generate from Coolify dashboard:\n\nNavigate to Keys & Tokens → API tokens\nCreate token with appropriate permissions (read, write, deploy)\nSet COOLIFY_TOKEN environment variable\n\n\n\nbash, curl, jq — Required for running bash scripts\n\n\nAPI Access — Coolify Cloud (app.coolify.io) or self-hosted instance"
      },
      {
        "title": "Basic Commands",
        "body": "# List all applications\n{baseDir}/scripts/coolify applications list\n\n# Get application details\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\n# Deploy an application\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force\n\n# View application logs\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n# Restart an application\n{baseDir}/scripts/coolify applications restart --uuid abc-123"
      },
      {
        "title": "List Applications",
        "body": "{baseDir}/scripts/coolify applications list\n\nOutput:\n\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"uuid\": \"abc-123\",\n      \"name\": \"my-app\",\n      \"status\": \"running\",\n      \"fqdn\": \"https://app.example.com\"\n    }\n  ],\n  \"count\": 1\n}"
      },
      {
        "title": "Get Application Details",
        "body": "{baseDir}/scripts/coolify applications get --uuid abc-123"
      },
      {
        "title": "Application Lifecycle",
        "body": "# Start\n{baseDir}/scripts/coolify applications start --uuid abc-123\n\n# Stop\n{baseDir}/scripts/coolify applications stop --uuid abc-123\n\n# Restart\n{baseDir}/scripts/coolify applications restart --uuid abc-123"
      },
      {
        "title": "View Logs",
        "body": "{baseDir}/scripts/coolify applications logs --uuid abc-123"
      },
      {
        "title": "Environment Variables",
        "body": "# List environment variables\n{baseDir}/scripts/coolify applications envs list --uuid abc-123\n\n# Create environment variable\n{baseDir}/scripts/coolify applications envs create \\\n  --uuid abc-123 \\\n  --key DATABASE_URL \\\n  --value \"postgres://user:pass@host:5432/db\" \\\n  --is-runtime true \\\n  --is-buildtime false\n\n# Update environment variable\n{baseDir}/scripts/coolify applications envs update \\\n  --uuid abc-123 \\\n  --env-uuid env-456 \\\n  --value \"new-value\"\n\n# Bulk update environment variables\n{baseDir}/scripts/coolify applications envs bulk-update \\\n  --uuid abc-123 \\\n  --json '{\"DATABASE_URL\":\"postgres://...\",\"API_KEY\":\"...\"}'\n\n# Delete environment variable\n{baseDir}/scripts/coolify applications envs delete \\\n  --uuid abc-123 \\\n  --env-uuid env-456"
      },
      {
        "title": "Create Applications",
        "body": "# Public Git repository\n{baseDir}/scripts/coolify applications create-public \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --git-repository \"https://github.com/user/repo\" \\\n  --git-branch main \\\n  --name \"My App\"\n\n# Private GitHub App\n{baseDir}/scripts/coolify applications create-private-github-app \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --github-app-uuid gh-789 \\\n  --git-repository \"user/repo\" \\\n  --git-branch main\n\n# Dockerfile\n{baseDir}/scripts/coolify applications create-dockerfile \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --dockerfile-location \"./Dockerfile\" \\\n  --name \"My Docker App\"\n\n# Docker Image\n{baseDir}/scripts/coolify applications create-dockerimage \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --docker-image \"nginx:latest\" \\\n  --name \"Nginx\"\n\n# Docker Compose\n{baseDir}/scripts/coolify applications create-dockercompose \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --docker-compose-location \"./docker-compose.yml\""
      },
      {
        "title": "List Databases",
        "body": "{baseDir}/scripts/coolify databases list"
      },
      {
        "title": "Get Database Details",
        "body": "{baseDir}/scripts/coolify databases get --uuid db-123"
      },
      {
        "title": "Database Lifecycle",
        "body": "# Start\n{baseDir}/scripts/coolify databases start --uuid db-123\n\n# Stop\n{baseDir}/scripts/coolify databases stop --uuid db-123\n\n# Restart\n{baseDir}/scripts/coolify databases restart --uuid db-123\n\n# Delete\n{baseDir}/scripts/coolify databases delete --uuid db-123"
      },
      {
        "title": "Create Databases",
        "body": "# PostgreSQL\n{baseDir}/scripts/coolify databases create-postgresql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-postgres\" \\\n  --postgres-user admin \\\n  --postgres-password secret \\\n  --postgres-db myapp\n\n# MySQL\n{baseDir}/scripts/coolify databases create-mysql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mysql\"\n\n# MariaDB\n{baseDir}/scripts/coolify databases create-mariadb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mariadb\"\n\n# MongoDB\n{baseDir}/scripts/coolify databases create-mongodb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mongo\"\n\n# Redis\n{baseDir}/scripts/coolify databases create-redis \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-redis\"\n\n# KeyDB\n{baseDir}/scripts/coolify databases create-keydb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-keydb\"\n\n# ClickHouse\n{baseDir}/scripts/coolify databases create-clickhouse \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-clickhouse\"\n\n# Dragonfly\n{baseDir}/scripts/coolify databases create-dragonfly \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-dragonfly\""
      },
      {
        "title": "Backups",
        "body": "# List backup configurations\n{baseDir}/scripts/coolify databases backups list --uuid db-123\n\n# Create backup configuration\n{baseDir}/scripts/coolify databases backups create \\\n  --uuid db-123 \\\n  --frequency \"0 2 * * *\" \\\n  --enabled true\n\n# Get backup details\n{baseDir}/scripts/coolify databases backups get \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# Update backup\n{baseDir}/scripts/coolify databases backups update \\\n  --uuid db-123 \\\n  --backup-uuid backup-456 \\\n  --frequency \"0 3 * * *\"\n\n# Trigger manual backup\n{baseDir}/scripts/coolify databases backups trigger \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# List backup executions\n{baseDir}/scripts/coolify databases backups executions \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# Delete backup configuration\n{baseDir}/scripts/coolify databases backups delete \\\n  --uuid db-123 \\\n  --backup-uuid backup-456"
      },
      {
        "title": "List Services",
        "body": "{baseDir}/scripts/coolify services list"
      },
      {
        "title": "Get Service Details",
        "body": "{baseDir}/scripts/coolify services get --uuid service-123"
      },
      {
        "title": "Service Lifecycle",
        "body": "# Start\n{baseDir}/scripts/coolify services start --uuid service-123\n\n# Stop\n{baseDir}/scripts/coolify services stop --uuid service-123\n\n# Restart\n{baseDir}/scripts/coolify services restart --uuid service-123\n\n# Delete\n{baseDir}/scripts/coolify services delete --uuid service-123"
      },
      {
        "title": "Create Service",
        "body": "{baseDir}/scripts/coolify services create \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"My Service\" \\\n  --docker-compose '{\"version\":\"3.8\",\"services\":{\"web\":{\"image\":\"nginx\"}}}'"
      },
      {
        "title": "Environment Variables",
        "body": "# List\n{baseDir}/scripts/coolify services envs list --uuid service-123\n\n# Create\n{baseDir}/scripts/coolify services envs create \\\n  --uuid service-123 \\\n  --key API_KEY \\\n  --value \"secret\"\n\n# Update\n{baseDir}/scripts/coolify services envs update \\\n  --uuid service-123 \\\n  --env-uuid env-456 \\\n  --value \"new-secret\"\n\n# Bulk update\n{baseDir}/scripts/coolify services envs bulk-update \\\n  --uuid service-123 \\\n  --json '{\"API_KEY\":\"secret\",\"DB_HOST\":\"localhost\"}'\n\n# Delete\n{baseDir}/scripts/coolify services envs delete \\\n  --uuid service-123 \\\n  --env-uuid env-456"
      },
      {
        "title": "Deploy Application",
        "body": "# Deploy by UUID\n{baseDir}/scripts/coolify deploy --uuid abc-123\n\n# Force rebuild\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force\n\n# Deploy by tag\n{baseDir}/scripts/coolify deploy --tag production\n\n# Instant deploy (skip queue)\n{baseDir}/scripts/coolify deploy --uuid abc-123 --instant-deploy"
      },
      {
        "title": "List Deployments",
        "body": "# List all running deployments\n{baseDir}/scripts/coolify deployments list\n\n# List deployments for specific application\n{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123"
      },
      {
        "title": "Get Deployment Details",
        "body": "{baseDir}/scripts/coolify deployments get --uuid deploy-456"
      },
      {
        "title": "Cancel Deployment",
        "body": "{baseDir}/scripts/coolify deployments cancel --uuid deploy-456"
      },
      {
        "title": "List Servers",
        "body": "{baseDir}/scripts/coolify servers list"
      },
      {
        "title": "Get Server Details",
        "body": "{baseDir}/scripts/coolify servers get --uuid server-123"
      },
      {
        "title": "Create Server",
        "body": "{baseDir}/scripts/coolify servers create \\\n  --name \"Production Server\" \\\n  --ip \"192.168.1.100\" \\\n  --port 22 \\\n  --user root \\\n  --private-key-uuid key-456"
      },
      {
        "title": "Update Server",
        "body": "{baseDir}/scripts/coolify servers update \\\n  --uuid server-123 \\\n  --name \"Updated Name\" \\\n  --description \"Production environment\""
      },
      {
        "title": "Validate Server",
        "body": "{baseDir}/scripts/coolify servers validate --uuid server-123"
      },
      {
        "title": "Get Server Resources",
        "body": "# List all resources on server\n{baseDir}/scripts/coolify servers resources --uuid server-123\n\n# Get domains configured on server\n{baseDir}/scripts/coolify servers domains --uuid server-123"
      },
      {
        "title": "Delete Server",
        "body": "{baseDir}/scripts/coolify servers delete --uuid server-123"
      },
      {
        "title": "List Projects",
        "body": "{baseDir}/scripts/coolify projects list"
      },
      {
        "title": "Get Project Details",
        "body": "{baseDir}/scripts/coolify projects get --uuid proj-123"
      },
      {
        "title": "Create Project",
        "body": "{baseDir}/scripts/coolify projects create \\\n  --name \"My Project\" \\\n  --description \"Production project\""
      },
      {
        "title": "Update Project",
        "body": "{baseDir}/scripts/coolify projects update \\\n  --uuid proj-123 \\\n  --name \"Updated Name\""
      },
      {
        "title": "Delete Project",
        "body": "{baseDir}/scripts/coolify projects delete --uuid proj-123"
      },
      {
        "title": "Environments",
        "body": "# List environments\n{baseDir}/scripts/coolify projects environments list --uuid proj-123\n\n# Create environment\n{baseDir}/scripts/coolify projects environments create \\\n  --uuid proj-123 \\\n  --name \"staging\"\n\n# Get environment details\n{baseDir}/scripts/coolify projects environments get \\\n  --uuid proj-123 \\\n  --environment staging\n\n# Delete environment\n{baseDir}/scripts/coolify projects environments delete \\\n  --uuid proj-123 \\\n  --environment staging"
      },
      {
        "title": "List Teams",
        "body": "{baseDir}/scripts/coolify teams list"
      },
      {
        "title": "Get Current Team",
        "body": "{baseDir}/scripts/coolify teams current"
      },
      {
        "title": "Get Team Members",
        "body": "{baseDir}/scripts/coolify teams members"
      },
      {
        "title": "Get Team by ID",
        "body": "{baseDir}/scripts/coolify teams get --id 1"
      },
      {
        "title": "List Private Keys",
        "body": "{baseDir}/scripts/coolify security keys list"
      },
      {
        "title": "Get Private Key",
        "body": "{baseDir}/scripts/coolify security keys get --uuid key-123"
      },
      {
        "title": "Create Private Key",
        "body": "{baseDir}/scripts/coolify security keys create \\\n  --name \"Production Key\" \\\n  --description \"SSH key for production servers\" \\\n  --private-key \"$(cat ~/.ssh/id_rsa)\""
      },
      {
        "title": "Update Private Key",
        "body": "{baseDir}/scripts/coolify security keys update \\\n  --uuid key-123 \\\n  --name \"Updated Key Name\""
      },
      {
        "title": "Delete Private Key",
        "body": "{baseDir}/scripts/coolify security keys delete --uuid key-123"
      },
      {
        "title": "List GitHub Apps",
        "body": "{baseDir}/scripts/coolify github-apps list"
      },
      {
        "title": "Get GitHub App",
        "body": "{baseDir}/scripts/coolify github-apps get --uuid gh-123"
      },
      {
        "title": "Create GitHub App",
        "body": "{baseDir}/scripts/coolify github-apps create \\\n  --name \"My GitHub App\" \\\n  --app-id 123456 \\\n  --installation-id 789012 \\\n  --private-key \"$(cat github-app-key.pem)\""
      },
      {
        "title": "Update GitHub App",
        "body": "{baseDir}/scripts/coolify github-apps update \\\n  --uuid gh-123 \\\n  --name \"Updated App Name\""
      },
      {
        "title": "Delete GitHub App",
        "body": "{baseDir}/scripts/coolify github-apps delete --uuid gh-123"
      },
      {
        "title": "List Repositories",
        "body": "{baseDir}/scripts/coolify github-apps repos --uuid gh-123"
      },
      {
        "title": "List Branches",
        "body": "{baseDir}/scripts/coolify github-apps branches \\\n  --uuid gh-123 \\\n  --owner myorg \\\n  --repo myrepo"
      },
      {
        "title": "Deploy a New Application",
        "body": "List available servers:\n{baseDir}/scripts/coolify servers list\n\n\n\nCreate application:\n{baseDir}/scripts/coolify applications create-public \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --git-repository \"https://github.com/user/repo\" \\\n  --git-branch main \\\n  --name \"My App\"\n\n\n\nConfigure environment variables:\n{baseDir}/scripts/coolify applications envs create \\\n  --uuid <new-app-uuid> \\\n  --key DATABASE_URL \\\n  --value \"postgres://...\" \\\n  --is-runtime true\n\n\n\nDeploy:\n{baseDir}/scripts/coolify deploy --uuid <new-app-uuid>"
      },
      {
        "title": "Set Up Database with Backups",
        "body": "Create database:\n{baseDir}/scripts/coolify databases create-postgresql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"production-db\"\n\n\n\nConfigure daily backups:\n{baseDir}/scripts/coolify databases backups create \\\n  --uuid <db-uuid> \\\n  --frequency \"0 2 * * *\" \\\n  --enabled true\n\n\n\nTrigger manual backup:\n{baseDir}/scripts/coolify databases backups trigger \\\n  --uuid <db-uuid> \\\n  --backup-uuid <backup-uuid>"
      },
      {
        "title": "Monitor Application Health",
        "body": "Check application status:\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\n\n\nView recent logs:\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n\n\nList recent deployments:\n{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123"
      },
      {
        "title": "\"API token not configured\"",
        "body": "Cause: COOLIFY_TOKEN environment variable not set.\n\nSolution:\n\nexport COOLIFY_TOKEN=\"your-token-here\"\n\nOr configure in OpenClaw config at ~/.openclaw/openclaw.json:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"coolify\": {\n        \"apiKey\": \"your-token-here\"\n      }\n    }\n  }\n}"
      },
      {
        "title": "\"Rate limit exceeded\"",
        "body": "Cause: Too many API requests in a short time.\n\nSolution: The client automatically retries with exponential backoff. Wait for the retry or reduce request frequency."
      },
      {
        "title": "\"Application not found\"",
        "body": "Cause: Invalid or non-existent UUID.\n\nSolution:\n\n# List all applications to find correct UUID\n{baseDir}/scripts/coolify applications list"
      },
      {
        "title": "\"connect ECONNREFUSED\"",
        "body": "Cause: Cannot connect to Coolify API.\n\nSolution for self-hosted:\n\n# Set custom API URL\nexport COOLIFY_API_URL=\"https://your-coolify.example.com/api/v1\"\n\nSolution for cloud: Verify internet connection and that app.coolify.io is accessible."
      },
      {
        "title": "\"Deployment failed\"",
        "body": "Cause: Build or deployment error.\n\nSolution:\n\nCheck deployment logs:\n{baseDir}/scripts/coolify deployments get --uuid deploy-456\n\n\n\nCheck application logs:\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n\n\nVerify environment variables are correct:\n{baseDir}/scripts/coolify applications envs list --uuid abc-123"
      },
      {
        "title": "Node.js Not Found",
        "body": "Cause: Node.js not installed or not in PATH.\n\nSolution:\n\n# macOS (via Homebrew)\nbrew install node\n\n# Verify installation\nnode --version"
      },
      {
        "title": "Output Format",
        "body": "All commands return structured JSON:"
      },
      {
        "title": "Success Response",
        "body": "{\n  \"success\": true,\n  \"data\": { ... },\n  \"count\": 42\n}"
      },
      {
        "title": "Error Response",
        "body": "{\n  \"success\": false,\n  \"error\": {\n    \"type\": \"APIError\",\n    \"message\": \"Application not found\",\n    \"hint\": \"Use 'applications list' to find valid UUIDs\"\n  }\n}"
      },
      {
        "title": "Environment Variables",
        "body": "VariableRequiredDefaultDescriptionCOOLIFY_TOKENYes—API token from Coolify dashboardCOOLIFY_API_URLNohttps://app.coolify.io/api/v1API base URL (for self-hosted)"
      },
      {
        "title": "Self-Hosted Coolify",
        "body": "For self-hosted instances, set the API URL:\n\nexport COOLIFY_API_URL=\"https://coolify.example.com/api/v1\"\nexport COOLIFY_TOKEN=\"your-token-here\""
      },
      {
        "title": "Additional Resources",
        "body": "Coolify Documentation: https://coolify.io/docs/\nAPI Reference: See {baseDir}/references/API.md\nGitHub: https://github.com/coollabsio/coolify\nDiscord: https://coollabs.io/discord"
      },
      {
        "title": "UUID vs Name",
        "body": "Most commands require UUIDs, not names. Always use list commands first to find UUIDs:\n\n# Bad: Using name (will fail)\n{baseDir}/scripts/coolify applications get --uuid \"my-app\"\n\n# Good: Using UUID\n{baseDir}/scripts/coolify applications list  # Find UUID first\n{baseDir}/scripts/coolify applications get --uuid abc-123"
      },
      {
        "title": "Force Deployments",
        "body": "Use --force flag carefully as it rebuilds from scratch:\n\n# Normal deployment (uses cache)\n{baseDir}/scripts/coolify deploy --uuid abc-123\n\n# Force rebuild (slower, but ensures clean build)\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force"
      },
      {
        "title": "Environment Variable Updates",
        "body": "After updating environment variables, restart the application:\n\n# Update env var\n{baseDir}/scripts/coolify applications envs update \\\n  --uuid abc-123 \\\n  --env-uuid env-456 \\\n  --value \"new-value\"\n\n# Restart to apply changes\n{baseDir}/scripts/coolify applications restart --uuid abc-123"
      },
      {
        "title": "Backup Frequency",
        "body": "Use cron expressions for backup schedules:\n\nExpressionDescription0 2 * * *Daily at 2 AM0 */6 * * *Every 6 hours0 0 * * 0Weekly on Sunday at midnight0 0 1 * *Monthly on 1st at midnight"
      },
      {
        "title": "Summary",
        "body": "This skill provides complete access to Coolify's API across:\n\nApplications — Deployment, lifecycle, logs, environment variables\nDatabases — 8 database types, backups, lifecycle management\nServices — Docker Compose orchestration\nDeployments — Trigger, monitor, cancel\nServers — Infrastructure management and validation\nProjects — Organization and environment management\nTeams — Access control and collaboration\nSecurity — SSH key management\nGitHub Apps — Repository integration\n\nAll operations return structured JSON for easy agent consumption."
      }
    ],
    "body": "Coolify API Skill\n\nComprehensive management of Coolify deployments, applications, databases, services, and infrastructure via the Coolify API.\n\nWhen to Use This Skill\n\nUse this skill when the user needs to:\n\nDeploy applications to Coolify\nManage application lifecycle (start, stop, restart)\nView application logs\nCreate and manage databases (PostgreSQL, MySQL, MongoDB, Redis, etc.)\nDeploy Docker Compose services\nManage servers and infrastructure\nConfigure environment variables\nTrigger and monitor deployments\nManage GitHub App integrations\nConfigure SSH private keys\nPrerequisites\n\nCoolify API Token — Generate from Coolify dashboard:\n\nNavigate to Keys & Tokens → API tokens\nCreate token with appropriate permissions (read, write, deploy)\nSet COOLIFY_TOKEN environment variable\n\nbash, curl, jq — Required for running bash scripts\n\nAPI Access — Coolify Cloud (app.coolify.io) or self-hosted instance\n\nQuick Start\nBasic Commands\n# List all applications\n{baseDir}/scripts/coolify applications list\n\n# Get application details\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\n# Deploy an application\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force\n\n# View application logs\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n# Restart an application\n{baseDir}/scripts/coolify applications restart --uuid abc-123\n\nApplications\nList Applications\n{baseDir}/scripts/coolify applications list\n\n\nOutput:\n\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"uuid\": \"abc-123\",\n      \"name\": \"my-app\",\n      \"status\": \"running\",\n      \"fqdn\": \"https://app.example.com\"\n    }\n  ],\n  \"count\": 1\n}\n\nGet Application Details\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\nApplication Lifecycle\n# Start\n{baseDir}/scripts/coolify applications start --uuid abc-123\n\n# Stop\n{baseDir}/scripts/coolify applications stop --uuid abc-123\n\n# Restart\n{baseDir}/scripts/coolify applications restart --uuid abc-123\n\nView Logs\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\nEnvironment Variables\n# List environment variables\n{baseDir}/scripts/coolify applications envs list --uuid abc-123\n\n# Create environment variable\n{baseDir}/scripts/coolify applications envs create \\\n  --uuid abc-123 \\\n  --key DATABASE_URL \\\n  --value \"postgres://user:pass@host:5432/db\" \\\n  --is-runtime true \\\n  --is-buildtime false\n\n# Update environment variable\n{baseDir}/scripts/coolify applications envs update \\\n  --uuid abc-123 \\\n  --env-uuid env-456 \\\n  --value \"new-value\"\n\n# Bulk update environment variables\n{baseDir}/scripts/coolify applications envs bulk-update \\\n  --uuid abc-123 \\\n  --json '{\"DATABASE_URL\":\"postgres://...\",\"API_KEY\":\"...\"}'\n\n# Delete environment variable\n{baseDir}/scripts/coolify applications envs delete \\\n  --uuid abc-123 \\\n  --env-uuid env-456\n\nCreate Applications\n# Public Git repository\n{baseDir}/scripts/coolify applications create-public \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --git-repository \"https://github.com/user/repo\" \\\n  --git-branch main \\\n  --name \"My App\"\n\n# Private GitHub App\n{baseDir}/scripts/coolify applications create-private-github-app \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --github-app-uuid gh-789 \\\n  --git-repository \"user/repo\" \\\n  --git-branch main\n\n# Dockerfile\n{baseDir}/scripts/coolify applications create-dockerfile \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --dockerfile-location \"./Dockerfile\" \\\n  --name \"My Docker App\"\n\n# Docker Image\n{baseDir}/scripts/coolify applications create-dockerimage \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --docker-image \"nginx:latest\" \\\n  --name \"Nginx\"\n\n# Docker Compose\n{baseDir}/scripts/coolify applications create-dockercompose \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --docker-compose-location \"./docker-compose.yml\"\n\nDatabases\nList Databases\n{baseDir}/scripts/coolify databases list\n\nGet Database Details\n{baseDir}/scripts/coolify databases get --uuid db-123\n\nDatabase Lifecycle\n# Start\n{baseDir}/scripts/coolify databases start --uuid db-123\n\n# Stop\n{baseDir}/scripts/coolify databases stop --uuid db-123\n\n# Restart\n{baseDir}/scripts/coolify databases restart --uuid db-123\n\n# Delete\n{baseDir}/scripts/coolify databases delete --uuid db-123\n\nCreate Databases\n# PostgreSQL\n{baseDir}/scripts/coolify databases create-postgresql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-postgres\" \\\n  --postgres-user admin \\\n  --postgres-password secret \\\n  --postgres-db myapp\n\n# MySQL\n{baseDir}/scripts/coolify databases create-mysql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mysql\"\n\n# MariaDB\n{baseDir}/scripts/coolify databases create-mariadb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mariadb\"\n\n# MongoDB\n{baseDir}/scripts/coolify databases create-mongodb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-mongo\"\n\n# Redis\n{baseDir}/scripts/coolify databases create-redis \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-redis\"\n\n# KeyDB\n{baseDir}/scripts/coolify databases create-keydb \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-keydb\"\n\n# ClickHouse\n{baseDir}/scripts/coolify databases create-clickhouse \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-clickhouse\"\n\n# Dragonfly\n{baseDir}/scripts/coolify databases create-dragonfly \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"my-dragonfly\"\n\nBackups\n# List backup configurations\n{baseDir}/scripts/coolify databases backups list --uuid db-123\n\n# Create backup configuration\n{baseDir}/scripts/coolify databases backups create \\\n  --uuid db-123 \\\n  --frequency \"0 2 * * *\" \\\n  --enabled true\n\n# Get backup details\n{baseDir}/scripts/coolify databases backups get \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# Update backup\n{baseDir}/scripts/coolify databases backups update \\\n  --uuid db-123 \\\n  --backup-uuid backup-456 \\\n  --frequency \"0 3 * * *\"\n\n# Trigger manual backup\n{baseDir}/scripts/coolify databases backups trigger \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# List backup executions\n{baseDir}/scripts/coolify databases backups executions \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\n# Delete backup configuration\n{baseDir}/scripts/coolify databases backups delete \\\n  --uuid db-123 \\\n  --backup-uuid backup-456\n\nServices (Docker Compose)\nList Services\n{baseDir}/scripts/coolify services list\n\nGet Service Details\n{baseDir}/scripts/coolify services get --uuid service-123\n\nService Lifecycle\n# Start\n{baseDir}/scripts/coolify services start --uuid service-123\n\n# Stop\n{baseDir}/scripts/coolify services stop --uuid service-123\n\n# Restart\n{baseDir}/scripts/coolify services restart --uuid service-123\n\n# Delete\n{baseDir}/scripts/coolify services delete --uuid service-123\n\nCreate Service\n{baseDir}/scripts/coolify services create \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"My Service\" \\\n  --docker-compose '{\"version\":\"3.8\",\"services\":{\"web\":{\"image\":\"nginx\"}}}'\n\nEnvironment Variables\n# List\n{baseDir}/scripts/coolify services envs list --uuid service-123\n\n# Create\n{baseDir}/scripts/coolify services envs create \\\n  --uuid service-123 \\\n  --key API_KEY \\\n  --value \"secret\"\n\n# Update\n{baseDir}/scripts/coolify services envs update \\\n  --uuid service-123 \\\n  --env-uuid env-456 \\\n  --value \"new-secret\"\n\n# Bulk update\n{baseDir}/scripts/coolify services envs bulk-update \\\n  --uuid service-123 \\\n  --json '{\"API_KEY\":\"secret\",\"DB_HOST\":\"localhost\"}'\n\n# Delete\n{baseDir}/scripts/coolify services envs delete \\\n  --uuid service-123 \\\n  --env-uuid env-456\n\nDeployments\nDeploy Application\n# Deploy by UUID\n{baseDir}/scripts/coolify deploy --uuid abc-123\n\n# Force rebuild\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force\n\n# Deploy by tag\n{baseDir}/scripts/coolify deploy --tag production\n\n# Instant deploy (skip queue)\n{baseDir}/scripts/coolify deploy --uuid abc-123 --instant-deploy\n\nList Deployments\n# List all running deployments\n{baseDir}/scripts/coolify deployments list\n\n# List deployments for specific application\n{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123\n\nGet Deployment Details\n{baseDir}/scripts/coolify deployments get --uuid deploy-456\n\nCancel Deployment\n{baseDir}/scripts/coolify deployments cancel --uuid deploy-456\n\nServers\nList Servers\n{baseDir}/scripts/coolify servers list\n\nGet Server Details\n{baseDir}/scripts/coolify servers get --uuid server-123\n\nCreate Server\n{baseDir}/scripts/coolify servers create \\\n  --name \"Production Server\" \\\n  --ip \"192.168.1.100\" \\\n  --port 22 \\\n  --user root \\\n  --private-key-uuid key-456\n\nUpdate Server\n{baseDir}/scripts/coolify servers update \\\n  --uuid server-123 \\\n  --name \"Updated Name\" \\\n  --description \"Production environment\"\n\nValidate Server\n{baseDir}/scripts/coolify servers validate --uuid server-123\n\nGet Server Resources\n# List all resources on server\n{baseDir}/scripts/coolify servers resources --uuid server-123\n\n# Get domains configured on server\n{baseDir}/scripts/coolify servers domains --uuid server-123\n\nDelete Server\n{baseDir}/scripts/coolify servers delete --uuid server-123\n\nProjects\nList Projects\n{baseDir}/scripts/coolify projects list\n\nGet Project Details\n{baseDir}/scripts/coolify projects get --uuid proj-123\n\nCreate Project\n{baseDir}/scripts/coolify projects create \\\n  --name \"My Project\" \\\n  --description \"Production project\"\n\nUpdate Project\n{baseDir}/scripts/coolify projects update \\\n  --uuid proj-123 \\\n  --name \"Updated Name\"\n\nDelete Project\n{baseDir}/scripts/coolify projects delete --uuid proj-123\n\nEnvironments\n# List environments\n{baseDir}/scripts/coolify projects environments list --uuid proj-123\n\n# Create environment\n{baseDir}/scripts/coolify projects environments create \\\n  --uuid proj-123 \\\n  --name \"staging\"\n\n# Get environment details\n{baseDir}/scripts/coolify projects environments get \\\n  --uuid proj-123 \\\n  --environment staging\n\n# Delete environment\n{baseDir}/scripts/coolify projects environments delete \\\n  --uuid proj-123 \\\n  --environment staging\n\nTeams\nList Teams\n{baseDir}/scripts/coolify teams list\n\nGet Current Team\n{baseDir}/scripts/coolify teams current\n\nGet Team Members\n{baseDir}/scripts/coolify teams members\n\nGet Team by ID\n{baseDir}/scripts/coolify teams get --id 1\n\nSecurity (Private Keys)\nList Private Keys\n{baseDir}/scripts/coolify security keys list\n\nGet Private Key\n{baseDir}/scripts/coolify security keys get --uuid key-123\n\nCreate Private Key\n{baseDir}/scripts/coolify security keys create \\\n  --name \"Production Key\" \\\n  --description \"SSH key for production servers\" \\\n  --private-key \"$(cat ~/.ssh/id_rsa)\"\n\nUpdate Private Key\n{baseDir}/scripts/coolify security keys update \\\n  --uuid key-123 \\\n  --name \"Updated Key Name\"\n\nDelete Private Key\n{baseDir}/scripts/coolify security keys delete --uuid key-123\n\nGitHub Apps\nList GitHub Apps\n{baseDir}/scripts/coolify github-apps list\n\nGet GitHub App\n{baseDir}/scripts/coolify github-apps get --uuid gh-123\n\nCreate GitHub App\n{baseDir}/scripts/coolify github-apps create \\\n  --name \"My GitHub App\" \\\n  --app-id 123456 \\\n  --installation-id 789012 \\\n  --private-key \"$(cat github-app-key.pem)\"\n\nUpdate GitHub App\n{baseDir}/scripts/coolify github-apps update \\\n  --uuid gh-123 \\\n  --name \"Updated App Name\"\n\nDelete GitHub App\n{baseDir}/scripts/coolify github-apps delete --uuid gh-123\n\nList Repositories\n{baseDir}/scripts/coolify github-apps repos --uuid gh-123\n\nList Branches\n{baseDir}/scripts/coolify github-apps branches \\\n  --uuid gh-123 \\\n  --owner myorg \\\n  --repo myrepo\n\nCommon Use Cases\nDeploy a New Application\n\nList available servers:\n\n{baseDir}/scripts/coolify servers list\n\n\nCreate application:\n\n{baseDir}/scripts/coolify applications create-public \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --git-repository \"https://github.com/user/repo\" \\\n  --git-branch main \\\n  --name \"My App\"\n\n\nConfigure environment variables:\n\n{baseDir}/scripts/coolify applications envs create \\\n  --uuid <new-app-uuid> \\\n  --key DATABASE_URL \\\n  --value \"postgres://...\" \\\n  --is-runtime true\n\n\nDeploy:\n\n{baseDir}/scripts/coolify deploy --uuid <new-app-uuid>\n\nSet Up Database with Backups\n\nCreate database:\n\n{baseDir}/scripts/coolify databases create-postgresql \\\n  --project-uuid proj-123 \\\n  --server-uuid server-456 \\\n  --name \"production-db\"\n\n\nConfigure daily backups:\n\n{baseDir}/scripts/coolify databases backups create \\\n  --uuid <db-uuid> \\\n  --frequency \"0 2 * * *\" \\\n  --enabled true\n\n\nTrigger manual backup:\n\n{baseDir}/scripts/coolify databases backups trigger \\\n  --uuid <db-uuid> \\\n  --backup-uuid <backup-uuid>\n\nMonitor Application Health\n\nCheck application status:\n\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\n\nView recent logs:\n\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n\nList recent deployments:\n\n{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123\n\nTroubleshooting\n\"API token not configured\"\n\nCause: COOLIFY_TOKEN environment variable not set.\n\nSolution:\n\nexport COOLIFY_TOKEN=\"your-token-here\"\n\n\nOr configure in OpenClaw config at ~/.openclaw/openclaw.json:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"coolify\": {\n        \"apiKey\": \"your-token-here\"\n      }\n    }\n  }\n}\n\n\"Rate limit exceeded\"\n\nCause: Too many API requests in a short time.\n\nSolution: The client automatically retries with exponential backoff. Wait for the retry or reduce request frequency.\n\n\"Application not found\"\n\nCause: Invalid or non-existent UUID.\n\nSolution:\n\n# List all applications to find correct UUID\n{baseDir}/scripts/coolify applications list\n\n\"connect ECONNREFUSED\"\n\nCause: Cannot connect to Coolify API.\n\nSolution for self-hosted:\n\n# Set custom API URL\nexport COOLIFY_API_URL=\"https://your-coolify.example.com/api/v1\"\n\n\nSolution for cloud: Verify internet connection and that app.coolify.io is accessible.\n\n\"Deployment failed\"\n\nCause: Build or deployment error.\n\nSolution:\n\nCheck deployment logs:\n\n{baseDir}/scripts/coolify deployments get --uuid deploy-456\n\n\nCheck application logs:\n\n{baseDir}/scripts/coolify applications logs --uuid abc-123\n\n\nVerify environment variables are correct:\n\n{baseDir}/scripts/coolify applications envs list --uuid abc-123\n\nNode.js Not Found\n\nCause: Node.js not installed or not in PATH.\n\nSolution:\n\n# macOS (via Homebrew)\nbrew install node\n\n# Verify installation\nnode --version\n\nOutput Format\n\nAll commands return structured JSON:\n\nSuccess Response\n{\n  \"success\": true,\n  \"data\": { ... },\n  \"count\": 42\n}\n\nError Response\n{\n  \"success\": false,\n  \"error\": {\n    \"type\": \"APIError\",\n    \"message\": \"Application not found\",\n    \"hint\": \"Use 'applications list' to find valid UUIDs\"\n  }\n}\n\nConfiguration\nEnvironment Variables\nVariable\tRequired\tDefault\tDescription\nCOOLIFY_TOKEN\tYes\t—\tAPI token from Coolify dashboard\nCOOLIFY_API_URL\tNo\thttps://app.coolify.io/api/v1\tAPI base URL (for self-hosted)\nSelf-Hosted Coolify\n\nFor self-hosted instances, set the API URL:\n\nexport COOLIFY_API_URL=\"https://coolify.example.com/api/v1\"\nexport COOLIFY_TOKEN=\"your-token-here\"\n\nAdditional Resources\nCoolify Documentation: https://coolify.io/docs/\nAPI Reference: See {baseDir}/references/API.md\nGitHub: https://github.com/coollabsio/coolify\nDiscord: https://coollabs.io/discord\nEdge Cases and Best Practices\nUUID vs Name\n\nMost commands require UUIDs, not names. Always use list commands first to find UUIDs:\n\n# Bad: Using name (will fail)\n{baseDir}/scripts/coolify applications get --uuid \"my-app\"\n\n# Good: Using UUID\n{baseDir}/scripts/coolify applications list  # Find UUID first\n{baseDir}/scripts/coolify applications get --uuid abc-123\n\nForce Deployments\n\nUse --force flag carefully as it rebuilds from scratch:\n\n# Normal deployment (uses cache)\n{baseDir}/scripts/coolify deploy --uuid abc-123\n\n# Force rebuild (slower, but ensures clean build)\n{baseDir}/scripts/coolify deploy --uuid abc-123 --force\n\nEnvironment Variable Updates\n\nAfter updating environment variables, restart the application:\n\n# Update env var\n{baseDir}/scripts/coolify applications envs update \\\n  --uuid abc-123 \\\n  --env-uuid env-456 \\\n  --value \"new-value\"\n\n# Restart to apply changes\n{baseDir}/scripts/coolify applications restart --uuid abc-123\n\nBackup Frequency\n\nUse cron expressions for backup schedules:\n\nExpression\tDescription\n0 2 * * *\tDaily at 2 AM\n0 */6 * * *\tEvery 6 hours\n0 0 * * 0\tWeekly on Sunday at midnight\n0 0 1 * *\tMonthly on 1st at midnight\nSummary\n\nThis skill provides complete access to Coolify's API across:\n\nApplications — Deployment, lifecycle, logs, environment variables\nDatabases — 8 database types, backups, lifecycle management\nServices — Docker Compose orchestration\nDeployments — Trigger, monitor, cancel\nServers — Infrastructure management and validation\nProjects — Organization and environment management\nTeams — Access control and collaboration\nSecurity — SSH key management\nGitHub Apps — Repository integration\n\nAll operations return structured JSON for easy agent consumption."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/visiongeist/coolify",
    "publisherUrl": "https://clawhub.ai/visiongeist/coolify",
    "owner": "visiongeist",
    "version": "2.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/coolify",
    "downloadUrl": "https://openagent3.xyz/downloads/coolify",
    "agentUrl": "https://openagent3.xyz/skills/coolify/agent",
    "manifestUrl": "https://openagent3.xyz/skills/coolify/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/coolify/agent.md"
  }
}