Use when installing, configuring, scripting, troubleshooting, or operating the Coolify CLI for Coolify Cloud or self-hosted Coolify instances.
Scanned 9/20/2026
Install to Claude Code
npx -y skills add lev-os/agents --skill coolify-cli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Coolify Cli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lev-os-coolify-cli)More formats (shields.io, HTML) on the badges page.
---
name: coolify-cli
description: Use when installing, configuring, scripting, troubleshooting, or operating the Coolify CLI for Coolify Cloud or self-hosted Coolify instances.
---
# Coolify CLI
Use this skill for the `coolify` command-line client from `coollabsio/coolify-cli`.
## When to Use This Skill
- Installing or updating the `coolify` binary.
- Setting up Cloud or self-hosted contexts and API tokens.
- Scripting Coolify resources, deployments, applications, services, databases, servers, GitHub apps, teams, firewall, or alpha mesh commands.
- Looking up exact Coolify CLI flags and aliases before execution.
## Source of Truth
- Exact command/flag parity lives in `references/COMMANDS.md`, regenerated from `go run ./coolify docs llms` at source commit `1bac52400810125d8275e185844372294a61eee2`.
- Quick upstream instructions live in `references/LLMS.md`; the scraped README, releases, issues, and file structure are retained from Skill Seeker extraction.
- Upstream installers are bundled as `references/install.sh` and `references/install.ps1`.
- Public command catalog count: 123 `Command:` entries. Hidden developer docs commands are `coolify docs llms`, `coolify docs markdown`, and `coolify docs man`.
## Operating Rules
- Do not invent flags. Before issuing any non-trivial command, inspect `references/COMMANDS.md` or run `coolify <family> ... --help`.
- Prefer `--format json` for automation; use `--format pretty` for debugging and `table` only for human reading.
- Treat `--token`, context tokens, passwords, IPs, and `--show-sensitive` output as secrets. Do not paste them into logs.
- Coolify resources use UUIDs; teams use numeric IDs.
- `app env sync`, `database env sync`, and `service env sync` create or update variables from a file; they do not delete variables missing from the file.
- `coolify init` is alpha Coolify v5 mesh/bootstrap work and can modify remote network/firewall state; plan first unless the user explicitly asked to apply.
## Workflow
```yaml
steps:
- id: install
action: Install or locate the CLI
instruction: |
Check first: `command -v coolify && coolify version`.
Linux/macOS release installer:
`curl -fsSL https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.sh | bash`
Linux/macOS user install:
`curl -fsSL https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.sh | bash -s -- --user`
Specific release:
`curl -fsSL https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.sh | bash -s -- --user v1.6.2`
Homebrew:
`brew install coollabsio/coolify-cli/coolify-cli`
Windows PowerShell:
`irm https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.ps1 | iex`
Windows user install:
`$env:COOLIFY_USER_INSTALL=1; irm https://raw.githubusercontent.com/coollabsio/coolify-cli/main/scripts/install.ps1 | iex`
Go install:
`go install github.com/coollabsio/coolify-cli/coolify@latest`
validation: "`command -v coolify` exits 0 and `coolify version` prints a version"
on_failure: "Read bundled installer source in references/install.sh or references/install.ps1; do not guess release asset names."
- id: authenticate
action: Configure context and token
instruction: |
Get an API token from the Coolify dashboard at `/security/api-tokens`.
Cloud: `coolify context set-token cloud <token>`.
Self-hosted: `coolify context add -d <context_name> <url> <token>`.
Switch default: `coolify context use <context_name>` or `coolify context set-default <context_name>`.
Verify: `coolify context verify` and `coolify context version`.
For one-off automation, prefer saved contexts plus `--context <name>`; use `--token <token>` only as an explicit override.
validation: "`coolify context verify --format json` succeeds for the intended context"
on_failure: "Check `coolify context list --format json`, URL scheme, token scope, and target Coolify API version."
- id: choose_command
action: Map intent to the exact command surface
instruction: |
Use the command map below to choose the family, then lookup exact flags:
`rg -n '^Command: coolify app env sync' references/COMMANDS.md`
`rg -n '^Command: coolify database create' references/COMMANDS.md`
`rg -n '^Command: coolify init' references/COMMANDS.md`
If local CLI version differs from the reference, prefer local `coolify ... --help` for execution.
validation: "Exact command, required parameters, and output format are identified before execution"
on_failure: "Open references/COMMANDS.md around the matching `Command:` entry or run command-specific `--help`."
- id: execute_and_verify
action: Run the command and prove the effect
instruction: |
For reads, use `--format json` and parse the returned identifiers/statuses.
For writes, capture the target UUID/name before and after, then run the relevant `get`, `list`, `logs`, `deploy get`, `context verify`, or `version` command.
For destructive commands (`delete`, `remove`, `revoke`, preview deletion, firewall changes, mesh init/bootstrap/extend/upgrade), confirm the user asked for that destructive action.
validation: "A follow-up read command proves the intended state or captures the returned error"
on_failure: "Do not claim completion; report the command, exit behavior, and the safest next verification command."
```
## Command Map
| Area | Commands |
| --- | --- |
| Root | `version`, `update`, `config`, `completion <bash|zsh|fish|powershell>`, hidden `docs llms|markdown|man` |
| Context | `context list/add/delete/get/set-default/set-token/update/use/verify/version` |
| Servers | `server list/get/add/remove/validate/domains` |
| Projects/resources | `project list/get/create`, `resource list` |
| Apps | `app list/get/update/delete/start/stop/restart/logs`, `app create public/github/deploy-key/dockerfile/dockerimage`, `app previews delete` |
| App internals | `app env list/get/create/update/delete/sync`, `app deployments list/logs`, `app storage list/create/update/delete` |
| Databases | `database list/get/create/update/delete/start/stop/restart`, supported types: `postgresql`, `mysql`, `mariadb`, `mongodb`, `redis`, `keydb`, `clickhouse`, `dragonfly` |
| Database internals | `database backup list/create/update/delete/executions/delete-execution/trigger`, `database env list/get/create/update/delete/sync`, `database storage list/create/update/delete` |
| Services | `service list/get/create/delete/start/stop/restart`, `service env list/get/create/update/delete/sync`, `service storage list/create/update/delete` |
| Deployments | `deploy list/get/name/uuid/batch/cancel` |
| Integrations | `github list/get/create/update/delete/repos/branches`, `private-key add/list/remove`, `teams current/get/list/members list` |
| Network/mesh | `firewall allow/revoke/list/containers`, `init plan/bootstrap/extend/upgrade` |
## Aliases
- Apps: `app`, `apps`, `application`, `applications`; env aliases: `env`, `envs`, `environment`; storage aliases: `storage`, `storages`; previews aliases: `preview`, `previews`.
- Databases: `database`, `databases`, `db`, `dbs`; storage aliases: `storage`, `storages`.
- Services: `service`, `services`, `svc`; storage aliases: `storage`, `storages`.
- GitHub: `github`, `gh`, `github-app`, `github-apps`.
- Private keys: `private-key`, `private-keys`, `key`, `keys`.
- Servers/projects/resources/teams accept singular or plural where shown in `references/COMMANDS.md`.
## Common Patterns
```bash
# Inventory
coolify --context prod server list --format json
coolify project list --format json
coolify resource list --format json
coolify app list --format json
coolify service list --format json
coolify database list --format json
# App lifecycle
coolify app get <uuid> --format json
coolify app start <uuid>
coolify app stop <uuid>
coolify app restart <uuid>
coolify app logs <uuid> --lines 100 --follow
# Environment sync
coolify app env sync <app_uuid> --file .env.production --build-time --preview
coolify database env sync <database_uuid> --file .env
coolify service env sync <service_uuid> --file .env
# Deployments
coolify deploy name <resource_name> --force
coolify deploy batch api,worker,frontend --force
coolify deploy get <deployment_uuid> --format json
coolify app deployments logs <app_uuid> <deployment_uuid> --lines 200 --debuglogs
# Coolify v5 mesh alpha: plan before apply
coolify init plan --servers 10.0.0.1,10.0.0.2 --ssh-key ~/.ssh/id_ed25519 --format json
```
<coolify_command_check>
Before executing:
1. State the target context and whether the command is read, write, or destructive.
2. Cite the exact `references/COMMANDS.md` command entry or local `--help` output used for flags.
3. Use `--format json` when the output will be parsed.
4. Define the follow-up read command that will verify success.
</coolify_command_check>
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!