Agent skill
coolify-manager
Coolify Server Manager. Use this skill when you need to perform commands on user's server on user's behalf
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/coolify-manager
SKILL.md
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
bash
# 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
bash
# 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
bash
# 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
bash
# 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
bash
# 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
bash
# 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
bash
# List teams
coolify team list
# Get current team
coolify team current
# List team members
coolify team members list
Server Management
bash
# 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:
bash
# 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
Didn't find tool you were looking for?