Skip to content
Back to skills

Coolify

ASecurity

Deploy applications to Coolify (self-hosted on Dell R750). Use the coolify_deploy tool for GitHub -> Coolify provisioning, PostgreSQL/app resources, semfreak.dev domains, and deploy/status operations.

  • 125 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
ai-agentssqlnodedebugginggitapidatabase

Works with

  • api

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add ArgentAIOS/argentos-core --skill coolify --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Coolify?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Coolify
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/argentaios-coolify/badge)](https://www.skillsdirectory.com/skills/argentaios-coolify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: coolify
description: "Deploy applications to Coolify (self-hosted on Dell R750). Use the coolify_deploy tool for GitHub -> Coolify provisioning, PostgreSQL/app resources, semfreak.dev domains, and deploy/status operations."
metadata:
  {
    "argent": { "emoji": "πŸš€", "requires": { "bins": ["gh", "git"], "keys": ["COOLIFY_API_KEY"] } },
  }
---

# Coolify Skill

Use this skill whenever the user asks to deploy/manage apps on Coolify.

Primary path: call the `coolify_deploy` tool (runtime-integrated, key-safe).
Fallback path: raw API calls with `curl` only when debugging.

## Environment Assumptions

- Coolify URL: `https://coolify.semfreak.dev`
- API key variable: `COOLIFY_API_KEY`
- Server IP: `66.90.191.45`
- Wildcard domain: `*.semfreak.dev`
- GitHub org: `webdevtodayjason`

The key is stored encrypted in service keys and resolved by runtime at call-time.
Do not ask users to paste plaintext keys into chat.

## Tool Action Map

- `test_connection`:
  - Checks `GET /api/v1/version`.
- `list_servers`:
  - Lists server UUIDs/IDs available in Coolify.
- `list_projects`:
  - Lists projects and identifiers.
- `create_project`:
  - Creates a Coolify project.
- `create_database`:
  - Creates PostgreSQL resource in a project.
- `create_application`:
  - Creates app resource from GitHub repo + branch + domain.
- `trigger_deploy`:
  - Triggers deployment for application UUID.
- `deployment_status`:
  - Reads deployment state by deployment UUID or by app UUID.
- `deployment_logs`:
  - Reads logs for a deployment UUID (or latest deployment for an app UUID).
- `deploy_project`:
  - Full pipeline:
    - optional GitHub repo create (`gh`)
    - optional local scaffold + commit + push
    - Coolify project/db/app provisioning
    - optional deploy trigger
- `teardown_project`:
  - Deletes app/database resources for a project, then deletes the project.

## Canonical Flow

When user asks: "build and deploy <project>"

1. Validate access:
   - `coolify_deploy` with `action: test_connection`
2. Resolve server:
   - `action: list_servers` (or use `COOLIFY_DEFAULT_SERVER_ID` if already set)
3. Run full deploy:
   - `action: deploy_project`
4. Return evidence:
   - Project UUID
   - App UUID
   - Deployment UUID/status
   - Live URL (`https://<project>.semfreak.dev`)

## Minimal Full Deploy Input

```json
{
  "action": "deploy_project",
  "project_name": "invoicer",
  "project_description": "Node.js API with Postgres",
  "repo_org": "webdevtodayjason",
  "repo_name": "invoicer",
  "stack": "node",
  "domain": "invoicer.semfreak.dev",
  "deploy_now": true
}
```

## Granular Mode Examples

Create project:

```json
{
  "action": "create_project",
  "project_name": "invoicer",
  "project_description": "Node API"
}
```

Create database:

```json
{
  "action": "create_database",
  "project_uuid": "<PROJECT_UUID>",
  "project_name": "invoicer",
  "server_uuid": "<SERVER_UUID>",
  "environment_name": "production"
}
```

Create application:

```json
{
  "action": "create_application",
  "project_uuid": "<PROJECT_UUID>",
  "project_name": "invoicer",
  "server_uuid": "<SERVER_UUID>",
  "repo_org": "webdevtodayjason",
  "repo_name": "invoicer",
  "branch": "main",
  "domain": "invoicer.semfreak.dev",
  "app_port": 3000
}
```

Trigger deploy:

```json
{
  "action": "trigger_deploy",
  "application_uuid": "<APP_UUID>"
}
```

Status check:

```json
{
  "action": "deployment_status",
  "application_uuid": "<APP_UUID>",
  "limit": 1
}
```

## Operator Notes

- Prefer `deploy_project` unless troubleshooting.
- Keep project/repo/domain naming aligned (`<name>`, `<name>-app`, `<name>-db`, `<name>.semfreak.dev`).
- If `gh` auth is missing, stop and return exact remediation.
- If Coolify responds with schema/endpoint mismatch, capture status + response body and report for adapter update.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…