name: coolify
description: 通过 Coolify API 管理 Coolify 部署、应用、数据库和服务。当用户需要部署、启动、停止、重启或管理托管在 Coolify 上的应用时使用。
homepage: https://coolify.io
user-invocable: true
metadata: {"openclaw":{"emoji":"🚀","requires":{"bins":["node"],"env":["COOLIFY_TOKEN"]},"primaryEnv":"COOLIFY_TOKEN"}}
通过 Coolify API 全面管理 Coolify 部署、应用、数据库、服务和基础设施。
当用户需要执行以下操作时,请使用此技能:
- 将应用部署到 Coolify
- 管理应用生命周期(启动、停止、重启)
- 查看应用日志
- 创建和管理数据库(PostgreSQL、MySQL、MongoDB、Redis 等)
- 部署 Docker Compose 服务
- 管理服务器和基础设施
- 配置环境变量
- 触发和监控部署
- 管理 GitHub App 集成
- 配置 SSH 私钥
Coolify API 令牌 — 从 Coolify 仪表板生成:
read、write、deploy)的令牌COOLIFY_TOKEN 环境变量bash, curl, jq — 运行 bash 脚本所必需
API 访问 — Coolify 云服务(app.coolify.io)或自托管实例
# 列出所有应用
{baseDir}/scripts/coolify applications list
# 获取应用详情
{baseDir}/scripts/coolify applications get --uuid abc-123
# 部署应用
{baseDir}/scripts/coolify deploy --uuid abc-123 --force
# 查看应用日志
{baseDir}/scripts/coolify applications logs --uuid abc-123
# 重启应用
{baseDir}/scripts/coolify applications restart --uuid abc-123
{baseDir}/scripts/coolify applications list
输出示例:
{
"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
# 启动
{baseDir}/scripts/coolify applications start --uuid abc-123
# 停止
{baseDir}/scripts/coolify applications stop --uuid abc-123
# 重启
{baseDir}/scripts/coolify applications restart --uuid abc-123
{baseDir}/scripts/coolify applications logs --uuid abc-123
# 列出环境变量
{baseDir}/scripts/coolify applications envs list --uuid abc-123
# 创建环境变量
{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
# 更新环境变量
{baseDir}/scripts/coolify applications envs update \
--uuid abc-123 \
--env-uuid env-456 \
--value "new-value"
# 批量更新环境变量
{baseDir}/scripts/coolify applications envs bulk-update \
--uuid abc-123 \
--json '{"DATABASE_URL":"postgres://...","API_KEY":"..."}'
# 删除环境变量
{baseDir}/scripts/coolify applications envs delete \
--uuid abc-123 \
--env-uuid env-456
# 公共 Git 仓库
{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"
# 私有 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 镜像
{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
# 启动
{baseDir}/scripts/coolify databases start --uuid db-123
# 停止
{baseDir}/scripts/coolify databases stop --uuid db-123
# 重启
{baseDir}/scripts/coolify databases restart --uuid db-123
# 删除
{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 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"
# 列出备份配置
{baseDir}/scripts/coolify databases backups list --uuid db-123
# 创建备份配置
{baseDir}/scripts/coolify databases backups create \
--uuid db-123 \
--frequency "0 2 * * *" \
--enabled true
# 获取备份详情
{baseDir}/scripts/coolify databases backups get \
--uuid db-123 \
--backup-uuid backup-456
# 更新备份配置
{baseDir}/scripts/coolify databases backups update \
--uuid db-123 \
--backup-uuid backup-456 \
--frequency "0 3 * * *"
# 触发手动备份
{baseDir}/scripts/coolify databases backups trigger \
--uuid db-123 \
--backup-uuid backup-456
# 列出备份执行记录
{baseDir}/scripts/coolify databases backups executions \
--uuid db-123 \
--backup-uuid backup-456
# 删除备份配置
{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
# 启动
{baseDir}/scripts/coolify services start --uuid service-123
# 停止
{baseDir}/scripts/coolify services stop --uuid service-123
# 重启
{baseDir}/scripts/coolify services restart --uuid service-123
# 删除
{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"}}}'
# 列出
{baseDir}/scripts/coolify services envs list --uuid service-123
# 创建
{baseDir}/scripts/coolify services envs create \
--uuid service-123 \
--key API_KEY \
--value "secret"
# 更新
{baseDir}/scripts/coolify services envs update \
--uuid service-123 \
--env-uuid env-456 \
--value "new-secret"
# 批量更新
{baseDir}/scripts/coolify services envs bulk-update \
--uuid service-123 \
--json '{"API_KEY":"secret","DB_HOST":"localhost"}'
# 删除
{baseDir}/scripts/coolify services envs delete \
--uuid service-123 \
--env-uuid env-456
# 通过 UUID 部署
{baseDir}/scripts/coolify deploy --uuid abc-123
# 强制重建
{baseDir}/scripts/coolify deploy --uuid abc-123 --force
# 通过标签部署
{baseDir}/scripts/coolify deploy --tag production
# 即时部署(跳过队列)
{baseDir}/scripts/coolify deploy --uuid abc-123 --instant-deploy
# 列出所有正在运行的部署
{baseDir}/scripts/coolify deployments list
# 列出特定应用的部署
{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
# 列出服务器上的所有资源
{baseDir}/scripts/coolify servers resources --uuid server-123
# 获取服务器上配置的域名
{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
# 列出环境
{baseDir}/scripts/coolify projects environments list --uuid proj-123
# 创建环境
{baseDir}/scripts/coolify projects environments create \
--uuid proj-123 \
--name "staging"
# 获取环境详情
{baseDir}/scripts/coolify projects environments get \
--uuid proj-123 \
--environment staging
# 删除环境
{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
列出可用服务器:
bash
{baseDir}/scripts/coolify servers list
创建应用:
bash
{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"
配置环境变量:
bash
{baseDir}/scripts/coolify applications envs create \
--uuid <new-app-uuid> \
--key DATABASE_URL \
--value "postgres://..." \
--is-runtime true
部署:
bash
{baseDir}/scripts/coolify deploy --uuid <new-app-uuid>
创建数据库:
bash
{baseDir}/scripts/coolify databases create-postgresql \
--project-uuid proj-123 \
--server-uuid server-456 \
--name "production-db"
配置每日备份:
bash
{baseDir}/scripts/coolify databases backups create \
--uuid <db-uuid> \
--frequency "0 2 * * *" \
--enabled true
触发手动备份:
bash
{baseDir}/scripts/coolify databases backups trigger \
--uuid <db-uuid> \
--backup-uuid <backup-uuid>