name: coolify-manager description: >- Coolify Server Manager. Use this skill when you need to perform commands on user's server on user's behalf
Overview
Use this skill when you need to:
- Report server/resource/application status
- Cnahge server/resource/application setting
Tool Commands for Coolify API
Servers
Commands can use server or servers interchangeably.
coolify server list- List all serverscoolify server get <uuid>- Get a server by UUID--resources- Get the resources and their status of a server
coolify server add <name> <ip> <private_key_uuid>- Add a new server-p, --port <port>- SSH port (default: 22)-u, --user <user>- SSH user (default: root)--validate- Validate server immediately after adding
coolify server remove <uuid>- Remove a servercoolify server validate <uuid>- Validate a server connectioncoolify server domains <uuid>- Get server domains by UUID
Projects
coolify projects list- List all projectscoolify projects get <uuid>- Get project environments
Resources
coolify resources list- List all resources
Applications
coolify app list- List all applicationscoolify app get <uuid>- Get application detailscoolify app update <uuid>- Update application configuration--name <name>- Application name--description <description>- Application description--git-branch <branch>- Git branch--git-repository <url>- Git repository URL--domains <domains>- Domains (comma-separated)--build-command <cmd>- Build command--start-command <cmd>- Start command--install-command <cmd>- Install command--base-directory <path>- Base directory--publish-directory <path>- Publish directory--dockerfile <content>- Dockerfile content--docker-image <image>- Docker image name--docker-tag <tag>- Docker image tag--ports-exposes <ports>- Exposed ports--ports-mappings <mappings>- Port mappings--health-check-enabled- Enable health check--health-check-path <path>- Health check path
coolify app delete <uuid>- Delete an application-f, --force- Skip confirmation prompt
coolify app start <uuid>- Start an applicationcoolify app stop <uuid>- Stop an applicationcoolify app restart <uuid>- Restart an applicationcoolify app logs <uuid>- Get application logs
Application Environment Variables
coolify app env list <app_uuid>- List all environment variablescoolify app env get <app_uuid> <env_uuid_or_key>- Get a specific environment variablecoolify app env create <app_uuid>- Create a new environment variable--key <key>- Variable key (required)--value <value>- Variable value (required)--preview- Available in preview deployments--build-time- Available at build time--is-literal- Treat value as literal (don't interpolate variables)--is-multiline- Value is multiline
coolify app env update <app_uuid> <env_uuid>- Update an environment variablecoolify app env delete <app_uuid> <env_uuid>- Delete an environment variablecoolify app env sync <app_uuid>- Sync environment variables from a .env file--file <path>- Path to .env file (required)--build-time- Make all variables available at build time--preview- Make all variables available in preview deployments--is-literal- Treat all values as literal (don't interpolate variables)- Behavior: Updates existing variables, creates missing ones. Does NOT delete variables not in the file.
Application Deployments
coolify app deployments list <app-uuid>- List all deployments for an applicationcoolify app deployments logs <app-uuid> [deployment-uuid]- Get deployment logs (formatted as human-readable text)- If only
app-uuidis provided: retrieves logs from the latest/most recent deployment only - If
deployment-uuidis also provided: retrieves logs for that specific deployment -n, --lines <n>- Number of log lines to display (default: 0 = all lines)-f, --follow- Follow log output in real-time (like tail -f)--debuglogs- Show debug logs (includes hidden commands and internal operations)
- If only
Databases
coolify database list- List all databasescoolify database get <uuid>- Get database detailscoolify database create <type>- Create a new database- Supported types:
postgresql,mysql,mariadb,mongodb,redis,keydb,clickhouse,dragonfly --server-uuid <uuid>- Server UUID (required)--project-uuid <uuid>- Project UUID (required)--environment-name <name>- Environment name (required unless using --environment-uuid)--environment-uuid <uuid>- Environment UUID (required unless using --environment-name)--destination-uuid <uuid>- Destination UUID if server has multiple destinations--name <name>- Database name--description <description>- Database description--image <image>- Docker image--instant-deploy- Deploy immediately after creation--is-public- Make database publicly accessible--public-port <port>- Public port number--limits-memory <size>- Memory limit (e.g., '512m', '2g')--limits-cpus <cpus>- CPU limit (e.g., '0.5', '2')- Database-specific flags (postgres-user, mysql-root-password, etc.)
- Supported types:
coolify database update <uuid>- Update database configurationcoolify database delete <uuid>- Delete a database--delete-configurations- Delete configurations (default: true)--delete-volumes- Delete volumes (default: true)--docker-cleanup- Run docker cleanup (default: true)--delete-connected-networks- Delete connected networks (default: true)
coolify database start <uuid>- Start a databasecoolify database stop <uuid>- Stop a databasecoolify database restart <uuid>- Restart a database
Database Backups
coolify database backup list <database_uuid>- List all backup configurationscoolify database backup create <database_uuid>- Create a new backup configuration--frequency <cron>- Backup frequency (cron expression)--enabled- Enable backup schedule--save-s3- Save backups to S3--s3-storage-uuid <uuid>- S3 storage UUID--databases-to-backup <list>- Comma-separated list of databases to backup--dump-all- Dump all databases--retention-amount-local <n>- Number of backups to retain locally--retention-days-local <n>- Days to retain backups locally--retention-storage-local <size>- Max storage for local backups (e.g., '1GB', '500MB')--retention-amount-s3 <n>- Number of backups to retain in S3--retention-days-s3 <n>- Days to retain backups in S3--retention-storage-s3 <size>- Max storage for S3 backups (e.g., '1GB', '500MB')--timeout <seconds>- Backup timeout in seconds--disable-local- Disable local backup storage
coolify database backup update <database_uuid> <backup_uuid>- Update a backup configurationcoolify database backup delete <database_uuid> <backup_uuid>- Delete a backup configurationcoolify database backup trigger <database_uuid> <backup_uuid>- Trigger an immediate backupcoolify database backup executions <database_uuid> <backup_uuid>- List backup executionscoolify database backup delete-execution <database_uuid> <backup_uuid> <execution_uuid>- Delete a backup execution
Services
coolify service list- List all servicescoolify service get <uuid>- Get service detailscoolify service start <uuid>- Start a servicecoolify service stop <uuid>- Stop a servicecoolify service restart <uuid>- Restart a servicecoolify service delete <uuid>- Delete a service
Service Environment Variables
coolify service env list <service_uuid>- List all environment variablescoolify service env get <service_uuid> <env_uuid_or_key>- Get a specific environment variablecoolify service env create <service_uuid>- Create a new environment variable- Same flags as application environment variables
coolify service env update <service_uuid> <env_uuid>- Update an environment variablecoolify service env delete <service_uuid> <env_uuid>- Delete an environment variablecoolify service env sync <service_uuid>- Sync environment variables from a .env file--file <path>- Path to .env file (required)--build-time- Make all variables available at build time--preview- Make all variables available in preview deployments--is-literal- Treat all values as literal (don't interpolate variables)- Behavior: Updates existing variables, creates missing ones. Does NOT delete variables not in the file.
Deployments
coolify deploy uuid <uuid>- Deploy a resource by UUID-f, --force- Force deployment
coolify deploy name <name>- Deploy a resource by name-f, --force- Force deployment
coolify deploy batch <name1,name2,...>- Deploy multiple resources at once-f, --force- Force all deployments
coolify deploy list- List all deploymentscoolify deploy get <uuid>- Get deployment detailscoolify deploy cancel <uuid>- Cancel a deployment-f, --force- Skip confirmation prompt
GitHub Apps
coolify github list- List all GitHub App integrationscoolify github get <app_uuid>- Get GitHub App detailscoolify github create- Create a new GitHub App integration--name <name>- GitHub App name (required)--api-url <url>- GitHub API URL (required, e.g., https://api.github.com)--html-url <url>- GitHub HTML URL (required, e.g., https://github.com)--app-id <id>- GitHub App ID (required)--installation-id <id>- GitHub Installation ID (required)--client-id <id>- GitHub OAuth Client ID (required)--client-secret <secret>- GitHub OAuth Client Secret (required)--private-key-uuid <uuid>- UUID of existing private key (required)--organization <org>- GitHub organization--custom-user <user>- Custom user for SSH (default: git)--custom-port <port>- Custom port for SSH (default: 22)--webhook-secret <secret>- GitHub Webhook Secret--system-wide- Is this app system-wide (cloud only)
coolify github update <app_uuid>- Update a GitHub Appcoolify github delete <app_uuid>- Delete a GitHub App-f, --force- Skip confirmation prompt
coolify github repos <app_uuid>- List repositories accessible by a GitHub Appcoolify github branches <app_uuid> <owner/repo>- List branches for a repository
Teams
coolify team list- List all teamscoolify team get <team_id>- Get team detailscoolify team current- Get current teamcoolify team members list [team_id]- List team members
Private Keys
Commands can use private-key, private-keys, key, or keys interchangeably.
coolify private-key list- List all private keyscoolify private-key add <key_name> <private-key>- Add a new private key- Use
@filenameto read from file:coolify private-key add mykey @~/.ssh/id_rsa
- Use
coolify private-key remove <uuid>- Remove a private key
Global Flags
All commands support these global flags:
--context <name>- Use a specific context instead of default--host <fqdn>- Override the Coolify instance hostname--token <token>- Override the authentication token--format <format>- Output format:table(default),json, orpretty-s, --show-sensitive- Show sensitive information (tokens, IPs, etc.)-f, --force- Force operation (skip confirmations)--debug- Enable debug mode
Examples
Multi-Environment Workflows
# Add multiple contexts
coolify context add prod https://prod.coolify.io <prod-token>
coolify context add staging https://staging.coolify.io <staging-token>
coolify context add dev https://dev.coolify.io <dev-token>
# Set default
coolify context use prod
# Use different contexts
coolify --context=staging servers list
coolify --context=prod deploy name api
coolify --context=dev resources list
# Default context (prod in this case)
coolify servers list
Application Management
# List all applications
coolify app list
# Get application details
coolify app get <uuid>
# Manage application lifecycle
coolify app start <uuid>
coolify app stop <uuid>
coolify app restart <uuid>
# View application logs
coolify app logs <uuid>
# Environment variables
coolify app env list <uuid>
coolify app env create <uuid> --key API_KEY --value secret123
# Sync from .env file (updates existing, creates new, keeps others unchanged)
coolify app env sync <uuid> --file .env
coolify app env sync <uuid> --file .env.production --build-time --preview
Database Management
# List databases
coolify database list
# Create a PostgreSQL database
coolify database create postgresql \
--server-uuid <server-uuid> \
--project-uuid <project-uuid> \
--name mydb \
--instant-deploy
# Manage database lifecycle
coolify database start <uuid>
coolify database stop <uuid>
coolify database restart <uuid>
# Backup management
coolify database backup list <database-uuid>
coolify database backup create <database-uuid> \
--frequency "0 2 * * *" \
--enabled \
--save-s3 \
--retention-days-locally 7
coolify database backup trigger <database-uuid> <backup-uuid>
Service Management
# List services
coolify service list
# Get service details
coolify service get <uuid>
# Manage services
coolify service start <uuid>
coolify service restart <uuid>
# Environment variables (same as applications)
coolify service env sync <uuid> --file .env
Deploy Workflows
# Deploy single app by name (easier than UUID)
coolify deploy name my-application
# Deploy multiple apps at once
coolify deploy batch api,worker,frontend
# Force deploy with specific context
coolify --context=prod deploy batch api,worker --force
# Traditional UUID deployment still works
coolify deploy uuid abc123-def456-...
# Monitor deployments
coolify deploy list
coolify deploy get <deployment-uuid>
# Cancel a deployment
coolify deploy cancel <deployment-uuid>
GitHub Apps Integration
# List GitHub Apps
coolify github list
# Create a GitHub App integration
coolify github create \
--name "My GitHub App" \
--api-url "https://api.github.com" \
--html-url "https://github.com" \
--app-id 123456 \
--installation-id 789012 \
--client-id "Iv1.abc123" \
--client-secret "secret" \
--private-key-uuid <key-uuid>
# List repositories accessible by the app
coolify github repos <app-uuid>
# List branches for a repository
coolify github branches <app-uuid> owner/repo
# Delete a GitHub App
coolify github delete <app-uuid>
Team Management
# List teams
coolify team list
# Get current team
coolify team current
# List team members
coolify team members list
Server Management
# List servers in production
coolify --context=prod server list
# Add a server with validation
coolify server add myserver 192.168.1.100 <key-uuid> --validate
# Get server details with resources
coolify server get <uuid> --resources
Output Formats
The CLI supports three output formats:
# Table format (default, human-readable)
coolify server list
# JSON format (for scripts)
coolify server list --format=json
# Pretty JSON (for debugging)
coolify server list --format=pretty