Coolify
Manage Coolify deployments, applications, databases, and services via the Coolify API. Use when the user wants to deploy, start, stop, restart, or manage applications hosted on Coolify.
Manage Coolify deployments, applications, databases, and services via the Coolify API. Use when the user wants to deploy, start, stop, restart, or manage applications hosted on Coolify.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Comprehensive management of Coolify deployments, applications, databases, services, and infrastructure via the Coolify API.
Use this skill when the user needs to:
Coolify API Token — Generate from Coolify dashboard:
read, write, deploy)COOLIFY_TOKEN environment variablebash, curl, jq — Required for running bash scripts
API Access — Coolify Cloud (
app.coolify.io) or self-hosted instance
# List all applications {baseDir}/scripts/coolify applications listGet application details
{baseDir}/scripts/coolify applications get --uuid abc-123
Deploy an application
{baseDir}/scripts/coolify deploy --uuid abc-123 --force
View application logs
{baseDir}/scripts/coolify applications logs --uuid abc-123
Restart an application
{baseDir}/scripts/coolify applications restart --uuid abc-123
{baseDir}/scripts/coolify applications list
Output:
{ "success": true, "data": [ { "uuid": "abc-123", "name": "my-app", "status": "running", "fqdn": "https://app.example.com" } ], "count": 1 }
{baseDir}/scripts/coolify applications get --uuid abc-123
# Start {baseDir}/scripts/coolify applications start --uuid abc-123Stop
{baseDir}/scripts/coolify applications stop --uuid abc-123
Restart
{baseDir}/scripts/coolify applications restart --uuid abc-123
{baseDir}/scripts/coolify applications logs --uuid abc-123
# List environment variables {baseDir}/scripts/coolify applications envs list --uuid abc-123Create environment variable
{baseDir}/scripts/coolify applications envs create
--uuid abc-123
--key DATABASE_URL
--value "postgres://user:pass@host:5432/db"
--is-runtime true
--is-buildtime falseUpdate environment variable
{baseDir}/scripts/coolify applications envs update
--uuid abc-123
--env-uuid env-456
--value "new-value"Bulk update environment variables
{baseDir}/scripts/coolify applications envs bulk-update
--uuid abc-123
--json '{"DATABASE_URL":"postgres://...","API_KEY":"..."}'Delete environment variable
{baseDir}/scripts/coolify applications envs delete
--uuid abc-123
--env-uuid env-456
# Public Git repository {baseDir}/scripts/coolify applications create-public \ --project-uuid proj-123 \ --server-uuid server-456 \ --git-repository "https://github.com/user/repo" \ --git-branch main \ --name "My App"Private GitHub App
{baseDir}/scripts/coolify applications create-private-github-app
--project-uuid proj-123
--server-uuid server-456
--github-app-uuid gh-789
--git-repository "user/repo"
--git-branch mainDockerfile
{baseDir}/scripts/coolify applications create-dockerfile
--project-uuid proj-123
--server-uuid server-456
--dockerfile-location "./Dockerfile"
--name "My Docker App"Docker Image
{baseDir}/scripts/coolify applications create-dockerimage
--project-uuid proj-123
--server-uuid server-456
--docker-image "nginx:latest"
--name "Nginx"Docker Compose
{baseDir}/scripts/coolify applications create-dockercompose
--project-uuid proj-123
--server-uuid server-456
--docker-compose-location "./docker-compose.yml"
{baseDir}/scripts/coolify databases list
{baseDir}/scripts/coolify databases get --uuid db-123
# Start {baseDir}/scripts/coolify databases start --uuid db-123Stop
{baseDir}/scripts/coolify databases stop --uuid db-123
Restart
{baseDir}/scripts/coolify databases restart --uuid db-123
Delete
{baseDir}/scripts/coolify databases delete --uuid db-123
# PostgreSQL {baseDir}/scripts/coolify databases create-postgresql \ --project-uuid proj-123 \ --server-uuid server-456 \ --name "my-postgres" \ --postgres-user admin \ --postgres-password secret \ --postgres-db myappMySQL
{baseDir}/scripts/coolify databases create-mysql
--project-uuid proj-123
--server-uuid server-456
--name "my-mysql"MariaDB
{baseDir}/scripts/coolify databases create-mariadb
--project-uuid proj-123
--server-uuid server-456
--name "my-mariadb"MongoDB
{baseDir}/scripts/coolify databases create-mongodb
--project-uuid proj-123
--server-uuid server-456
--name "my-mongo"Redis
{baseDir}/scripts/coolify databases create-redis
--project-uuid proj-123
--server-uuid server-456
--name "my-redis"KeyDB
{baseDir}/scripts/coolify databases create-keydb
--project-uuid proj-123
--server-uuid server-456
--name "my-keydb"ClickHouse
{baseDir}/scripts/coolify databases create-clickhouse
--project-uuid proj-123
--server-uuid server-456
--name "my-clickhouse"Dragonfly
{baseDir}/scripts/coolify databases create-dragonfly
--project-uuid proj-123
--server-uuid server-456
--name "my-dragonfly"
# List backup configurations {baseDir}/scripts/coolify databases backups list --uuid db-123Create backup configuration
{baseDir}/scripts/coolify databases backups create
--uuid db-123
--frequency "0 2 * * *"
--enabled trueGet backup details
{baseDir}/scripts/coolify databases backups get
--uuid db-123
--backup-uuid backup-456Update backup
{baseDir}/scripts/coolify databases backups update
--uuid db-123
--backup-uuid backup-456
--frequency "0 3 * * *"Trigger manual backup
{baseDir}/scripts/coolify databases backups trigger
--uuid db-123
--backup-uuid backup-456List backup executions
{baseDir}/scripts/coolify databases backups executions
--uuid db-123
--backup-uuid backup-456Delete backup configuration
{baseDir}/scripts/coolify databases backups delete
--uuid db-123
--backup-uuid backup-456
{baseDir}/scripts/coolify services list
{baseDir}/scripts/coolify services get --uuid service-123
# Start {baseDir}/scripts/coolify services start --uuid service-123Stop
{baseDir}/scripts/coolify services stop --uuid service-123
Restart
{baseDir}/scripts/coolify services restart --uuid service-123
Delete
{baseDir}/scripts/coolify services delete --uuid service-123
{baseDir}/scripts/coolify services create \ --project-uuid proj-123 \ --server-uuid server-456 \ --name "My Service" \ --docker-compose '{"version":"3.8","services":{"web":{"image":"nginx"}}}'
# List {baseDir}/scripts/coolify services envs list --uuid service-123Create
{baseDir}/scripts/coolify services envs create
--uuid service-123
--key API_KEY
--value "secret"Update
{baseDir}/scripts/coolify services envs update
--uuid service-123
--env-uuid env-456
--value "new-secret"Bulk update
{baseDir}/scripts/coolify services envs bulk-update
--uuid service-123
--json '{"API_KEY":"secret","DB_HOST":"localhost"}'Delete
{baseDir}/scripts/coolify services envs delete
--uuid service-123
--env-uuid env-456
# Deploy by UUID {baseDir}/scripts/coolify deploy --uuid abc-123Force rebuild
{baseDir}/scripts/coolify deploy --uuid abc-123 --force
Deploy by tag
{baseDir}/scripts/coolify deploy --tag production
Instant deploy (skip queue)
{baseDir}/scripts/coolify deploy --uuid abc-123 --instant-deploy
# List all running deployments {baseDir}/scripts/coolify deployments listList deployments for specific application
{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123
{baseDir}/scripts/coolify deployments get --uuid deploy-456
{baseDir}/scripts/coolify deployments cancel --uuid deploy-456
{baseDir}/scripts/coolify servers list
{baseDir}/scripts/coolify servers get --uuid server-123
{baseDir}/scripts/coolify servers create \ --name "Production Server" \ --ip "192.168.1.100" \ --port 22 \ --user root \ --private-key-uuid key-456
{baseDir}/scripts/coolify servers update \ --uuid server-123 \ --name "Updated Name" \ --description "Production environment"
{baseDir}/scripts/coolify servers validate --uuid server-123
# List all resources on server {baseDir}/scripts/coolify servers resources --uuid server-123Get domains configured on server
{baseDir}/scripts/coolify servers domains --uuid server-123
{baseDir}/scripts/coolify servers delete --uuid server-123
{baseDir}/scripts/coolify projects list
{baseDir}/scripts/coolify projects get --uuid proj-123
{baseDir}/scripts/coolify projects create \ --name "My Project" \ --description "Production project"
{baseDir}/scripts/coolify projects update \ --uuid proj-123 \ --name "Updated Name"
{baseDir}/scripts/coolify projects delete --uuid proj-123
# List environments {baseDir}/scripts/coolify projects environments list --uuid proj-123Create environment
{baseDir}/scripts/coolify projects environments create
--uuid proj-123
--name "staging"Get environment details
{baseDir}/scripts/coolify projects environments get
--uuid proj-123
--environment stagingDelete environment
{baseDir}/scripts/coolify projects environments delete
--uuid proj-123
--environment staging
{baseDir}/scripts/coolify teams list
{baseDir}/scripts/coolify teams current
{baseDir}/scripts/coolify teams members
{baseDir}/scripts/coolify teams get --id 1
{baseDir}/scripts/coolify security keys list
{baseDir}/scripts/coolify security keys get --uuid key-123
{baseDir}/scripts/coolify security keys create \ --name "Production Key" \ --description "SSH key for production servers" \ --private-key "$(cat ~/.ssh/id_rsa)"
{baseDir}/scripts/coolify security keys update \ --uuid key-123 \ --name "Updated Key Name"
{baseDir}/scripts/coolify security keys delete --uuid key-123
{baseDir}/scripts/coolify github-apps list
{baseDir}/scripts/coolify github-apps get --uuid gh-123
{baseDir}/scripts/coolify github-apps create \ --name "My GitHub App" \ --app-id 123456 \ --installation-id 789012 \ --private-key "$(cat github-app-key.pem)"
{baseDir}/scripts/coolify github-apps update \ --uuid gh-123 \ --name "Updated App Name"
{baseDir}/scripts/coolify github-apps delete --uuid gh-123
{baseDir}/scripts/coolify github-apps repos --uuid gh-123
{baseDir}/scripts/coolify github-apps branches \ --uuid gh-123 \ --owner myorg \ --repo myrepo
List available servers:
{baseDir}/scripts/coolify servers list
Create application:
{baseDir}/scripts/coolify applications create-public \ --project-uuid proj-123 \ --server-uuid server-456 \ --git-repository "https://github.com/user/repo" \ --git-branch main \ --name "My App"
Configure environment variables:
{baseDir}/scripts/coolify applications envs create \ --uuid <new-app-uuid> \ --key DATABASE_URL \ --value "postgres://..." \ --is-runtime true
Deploy:
{baseDir}/scripts/coolify deploy --uuid <new-app-uuid>
Create database:
{baseDir}/scripts/coolify databases create-postgresql \ --project-uuid proj-123 \ --server-uuid server-456 \ --name "production-db"
Configure daily backups:
{baseDir}/scripts/coolify databases backups create \ --uuid <db-uuid> \ --frequency "0 2 * * *" \ --enabled true
Trigger manual backup:
{baseDir}/scripts/coolify databases backups trigger \ --uuid <db-uuid> \ --backup-uuid <backup-uuid>
Check application status:
{baseDir}/scripts/coolify applications get --uuid abc-123
View recent logs:
{baseDir}/scripts/coolify applications logs --uuid abc-123
List recent deployments:
{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123
Cause:
COOLIFY_TOKEN environment variable not set.
Solution:
export COOLIFY_TOKEN="your-token-here"
Or configure in OpenClaw config at
~/.openclaw/openclaw.json:
{ "skills": { "entries": { "coolify": { "apiKey": "your-token-here" } } } }
Cause: Too many API requests in a short time.
Solution: The client automatically retries with exponential backoff. Wait for the retry or reduce request frequency.
Cause: Invalid or non-existent UUID.
Solution:
# List all applications to find correct UUID {baseDir}/scripts/coolify applications list
Cause: Cannot connect to Coolify API.
Solution for self-hosted:
# Set custom API URL export COOLIFY_API_URL="https://your-coolify.example.com/api/v1"
Solution for cloud: Verify internet connection and that
app.coolify.io is accessible.
Cause: Build or deployment error.
Solution:
Check deployment logs:
{baseDir}/scripts/coolify deployments get --uuid deploy-456
Check application logs:
{baseDir}/scripts/coolify applications logs --uuid abc-123
Verify environment variables are correct:
{baseDir}/scripts/coolify applications envs list --uuid abc-123
Cause: Node.js not installed or not in PATH.
Solution:
# macOS (via Homebrew) brew install nodeVerify installation
node --version
All commands return structured JSON:
{ "success": true, "data": { ... }, "count": 42 }
{ "success": false, "error": { "type": "APIError", "message": "Application not found", "hint": "Use 'applications list' to find valid UUIDs" } }
| Variable | Required | Default | Description |
|---|---|---|---|
| Yes | — | API token from Coolify dashboard |
| No | | API base URL (for self-hosted) |
For self-hosted instances, set the API URL:
export COOLIFY_API_URL="https://coolify.example.com/api/v1" export COOLIFY_TOKEN="your-token-here"
{baseDir}/references/API.mdMost commands require UUIDs, not names. Always use
list commands first to find UUIDs:
# Bad: Using name (will fail) {baseDir}/scripts/coolify applications get --uuid "my-app"Good: Using UUID
{baseDir}/scripts/coolify applications list # Find UUID first {baseDir}/scripts/coolify applications get --uuid abc-123
Use
--force flag carefully as it rebuilds from scratch:
# Normal deployment (uses cache) {baseDir}/scripts/coolify deploy --uuid abc-123Force rebuild (slower, but ensures clean build)
{baseDir}/scripts/coolify deploy --uuid abc-123 --force
After updating environment variables, restart the application:
# Update env var {baseDir}/scripts/coolify applications envs update \ --uuid abc-123 \ --env-uuid env-456 \ --value "new-value"Restart to apply changes
{baseDir}/scripts/coolify applications restart --uuid abc-123
Use cron expressions for backup schedules:
| Expression | Description |
|---|---|
| Daily at 2 AM |
| Every 6 hours |
| Weekly on Sunday at midnight |
| Monthly on 1st at midnight |
This skill provides complete access to Coolify's API across:
All operations return structured JSON for easy agent consumption.
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.