DevOps
coolify
Manage Coolify deployments, applications, databases, and services
---
name: coolify
description: 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.
homepage: https://coolify.io
user-invocable: true
metadata: {"openclaw":{"emoji":"π","requires":{"bins":["node"],"env":["COOLIFY_TOKEN"]},"primaryEnv":"COOLIFY_TOKEN"}}
---
# Coolify API Skill
Comprehensive management of Coolify deployments, applications, databases, services, and infrastructure via the Coolify API.
## When to Use This Skill
Use this skill when the user needs to:
- Deploy applications to Coolify
- Manage application lifecycle (start, stop, restart)
- View application logs
- Create and manage databases (PostgreSQL, MySQL, MongoDB, Redis, etc.)
- Deploy Docker Compose services
- Manage servers and infrastructure
- Configure environment variables
- Trigger and monitor deployments
- Manage GitHub App integrations
- Configure SSH private keys
## Prerequisites
1. **Coolify API Token** β Generate from Coolify dashboard:
- Navigate to **Keys & Tokens** β **API tokens**
- Create token with appropriate permissions (`read`, `write`, `deploy`)
- Set `COOLIFY_TOKEN` environment variable
2. **bash, curl, jq** β Required for running bash scripts
3. **API Access** β Coolify Cloud (`app.coolify.io`) or self-hosted instance
## Quick Start
### Basic Commands
```bash
# List all applications
{baseDir}/scripts/coolify applications list
# Get 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
```
---
## Applications
### List Applications
```bash
{baseDir}/scripts/coolify applications list
```
**Output:**
```json
{
"success": true,
"data": [
{
"uuid": "abc-123",
"name": "my-app",
"status": "running",
"fqdn": "https://app.example.com"
}
],
"count": 1
}
```
### Get Application Details
```bash
{baseDir}/scripts/coolify applications get --uuid abc-123
```
### Application Lifecycle
```bash
# Start
{baseDir}/scripts/coolify applications start --uuid abc-123
# Stop
{baseDir}/scripts/coolify applications stop --uuid abc-123
# Restart
{baseDir}/scripts/coolify applications restart --uuid abc-123
```
### View Logs
```bash
{baseDir}/scripts/coolify applications logs --uuid abc-123
```
### Environment Variables
```bash
# List environment variables
{baseDir}/scripts/coolify applications envs list --uuid abc-123
# Create 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 false
# Update 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
```
### Create Applications
```bash
# 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 main
# Dockerfile
{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"
```
---
## Databases
### List Databases
```bash
{baseDir}/scripts/coolify databases list
```
### Get Database Details
```bash
{baseDir}/scripts/coolify databases get --uuid db-123
```
### Database Lifecycle
```bash
# Start
{baseDir}/scripts/coolify databases start --uuid db-123
# Stop
{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
```
### Create Databases
```bash
# 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 myapp
# MySQL
{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"
```
### Backups
```bash
# List backup configurations
{baseDir}/scripts/coolify databases backups list --uuid db-123
# Create backup configuration
{baseDir}/scripts/coolify databases backups create \
--uuid db-123 \
--frequency "0 2 * * *" \
--enabled true
# Get backup details
{baseDir}/scripts/coolify databases backups get \
--uuid db-123 \
--backup-uuid backup-456
# Update 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-456
# List backup executions
{baseDir}/scripts/coolify databases backups executions \
--uuid db-123 \
--backup-uuid backup-456
# Delete backup configuration
{baseDir}/scripts/coolify databases backups delete \
--uuid db-123 \
--backup-uuid backup-456
```
---
## Services (Docker Compose)
### List Services
```bash
{baseDir}/scripts/coolify services list
```
### Get Service Details
```bash
{baseDir}/scripts/coolify services get --uuid service-123
```
### Service Lifecycle
```bash
# Start
{baseDir}/scripts/coolify services start --uuid service-123
# Stop
{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
```
### Create Service
```bash
{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"}}}'
```
### Environment Variables
```bash
# List
{baseDir}/scripts/coolify services envs list --uuid service-123
# Create
{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
```
---
## Deployments
### Deploy Application
```bash
# Deploy by UUID
{baseDir}/scripts/coolify deploy --uuid abc-123
# Force 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 Deployments
```bash
# List all running deployments
{baseDir}/scripts/coolify deployments list
# List deployments for specific application
{baseDir}/scripts/coolify deployments list-for-app --uuid abc-123
```
### Get Deployment Details
```bash
{baseDir}/scripts/coolify deployments get --uuid deploy-456
```
### Cancel Deployment
```bash
{baseDir}/scripts/coolify deployments cancel --uuid deploy-456
```
---
## Servers
### List Servers
```bash
{baseDir}/scripts/coolify servers list
```
### Get Server Details
```bash
{baseDir}/scripts/coolify servers get --uuid server-123
```
### Create Server
```bash
{baseDir}/scripts/coolify servers create \
--name "Production Server" \
--ip "192.168.1.100" \
--port 22 \
--user root \
--private-key-uuid key-456
```
### Update Server
```bash
{baseDir}/scripts/coolify servers update \
--uuid server-123 \
--name "Updated Name" \
--description "Production environment"
```
### Validate Server
```bash
{baseDir}/scripts/coolify servers validate --uuid server-123
```
### Get Server Resources
```bash
# List all resources on server
{baseDir}/scripts/coolify servers resources --uuid server-123
# Get domains con
... (truncated)
devops
By
Comments
Sign in to leave a comment