coolify について
Coolify のデプロイやリソースをターミナルから管理するスキルです。Coolify を運用する担当者やチーム向けに、CLI 操作と CI/CD 用の REST API の使い方を扱います。
主な機能
- 01CLI コンテキストの設定と切り替え
- 02アプリの個別・一括デプロイ
- 03アプリ環境変数の管理
- 04データベースの作成と操作
- 05サーバーとリソースの確認
活用シーン
- 01アプリを Coolify にデプロイ
- 02本番 .env ファイルから変数を同期
- 03データベースの作成と操作
- 04CI/CD パイプラインを Coolify に接続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ terminalskills/ skills --skill coolifyインストール後、Claude Code で/coolifyを入力して読み込まれたか確認します。
同梱ファイル_scores.jsonreferences/api-reference.md
詳細
Coolify
概要
ターミナルから Coolify のデプロイ、アプリケーション、データベース、サービスを管理できます。日常的な操作には Coolify CLI、CI/CD との連携には REST API をサポートしています。Coolify はオープンソースでセルフホスト可能な PaaS で、独自のサーバー上にリソースを Docker コンテナとしてデプロイします。
手順
ユーザーが Coolify についてサポートを求めた場合、必要なタスクを判断してください。
タスク A:CLI コンテキストを設定する
CLI を Coolify インスタンスに接続します。
# Add a context (name, URL, API token)
coolify context add production https://coolify.example.com <api-token>
# List configured contexts
coolify context list
# Switch active context
coolify context use production
# Verify connection
coolify context verify
API トークンは Coolify ダッシュボードの Keys & Tokens > API tokens で作成します。権限レベルは次のとおりです。
read-only— リソースを表示します。機密データは表示されませんread:sensitive— シークレットを含むリソースを表示します*— フルアクセス(デプロイと変更に必要です)
タスク B:アプリケーションをデプロイする
# Deploy by UUID
coolify deploy uuid <app-uuid>
# Deploy by name
coolify deploy name my-api
# Deploy multiple resources at once
coolify deploy batch app1-uuid,app2-uuid,db-uuid
# List recent deployments
coolify app deployments list <app-uuid>
# View deployment logs
coolify app deployments logs <deployment-uuid>
# Cancel a running deployment
coolify deploy cancel <deployment-uuid>
API 経由(CI/CD パイプライン向け):
curl -X POST "https://coolify.example.com/api/v1/deploy" \
-H "Authorization: Bearer $COOLIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"uuid": "app-uuid-here"}'
タスク C:環境変数を管理する
# List env vars for an application
coolify app env list <app-uuid>
# Create a single env var
coolify app env create <app-uuid> --key DATABASE_URL --value "postgres://user:pass@db:5432/myapp"
# Sync from a .env file (creates missing, updates existing, leaves others untouched)
coolify app env sync <app-uuid> --file .env.production
# Bulk update via API
curl -X PATCH "https://coolify.example.com/api/v1/applications/<uuid>/envs/bulk" \
-H "Authorization: Bearer $COOLIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"key": "NODE_ENV", "value": "production"}, {"key": "PORT", "value": "3000"}]'
タスク D:データベースを管理する
# List all databases
coolify database list
# Create a PostgreSQL database
coolify database create postgresql --name my-postgres --server <server-uuid>
# Start/stop/restart a database
coolify database start <db-uuid>
coolify database stop <db-uuid>
coolify database restart <db-uuid>
# Create a backup configuration
coolify database backup create <db-uuid> --frequency "0 2 * * *" --s3 <s3-uuid>
# Trigger a backup immediately
coolify database backup trigger <backup-uuid>
サポートされているデータベースの種類:PostgreSQL、MySQL、MariaDB、MongoDB、Redis、ClickHouse、Dragonfly、KeyDB。
タスク E:アプリケーションとサービスを管理する
# List all applications
coolify app list
# Get application details
coolify app get <app-uuid>
# Start/stop/restart an application
coolify app start <app-uuid>
coolify app stop <app-uuid>
coolify app restart <app-uuid>
# View application logs
coolify app logs <app-uuid>
# List one-click services
coolify service list
# Start/stop a service
coolify service start <service-uuid>
coolify service stop <service-uuid>
タスク F:サーバーとリソースを管理する
# List all servers
coolify server list
# Validate a server (checks SSH, Docker, prerequisites)
coolify server validate <server-uuid>
# List all resources across servers
coolify resources list
# Get server details (JSON output for scripting)
coolify server get <server-uuid> --format json
例
例 1:Next.js アプリをデプロイして環境変数を同期する
ユーザーのリクエスト:「Next.js アプリを Coolify にデプロイして、本番環境の環境変数を同期してください」
実行手順:
# First, sync env vars from local .env.production
$ coolify app env sync abc123-def456 --file .env.production
Synced 12 environment variables (3 created, 9 updated)
# Trigger deployment
$ coolify deploy uuid abc123-def456
Deployment queued: dep-789xyz
# Monitor deployment
$ coolify app deployments logs dep-789xyz
[2024-01-15 10:23:01] Building with Nixpacks...
[2024-01-15 10:23:45] Build completed successfully
[2024-01-15 10:23:50] Deploying container...
[2024-01-15 10:24:02] Health check passed
[2024-01-15 10:24:03] Deployment successful
例 2:自動バックアップ付きの PostgreSQL データベースを設定する
ユーザーのリクエスト:「Coolify に夜間バックアップ付きの PostgreSQL データベースを作成してください」
実行手順:
# Create the database
$ coolify database create postgresql --name analytics-db --server srv-abc123
Created database: db-xyz789 (PostgreSQL 16)
# Create backup schedule (daily at 2 AM)
$ coolify database backup create db-xyz789 --frequency "0 2 * * *" --s3 s3-backup-config
Backup schedule created: backup-111222
# Verify it's running
$ coolify database list
UUID NAME TYPE STATUS
db-xyz789 analytics-db postgresql running
例 3:GitHub Actions から CI/CD デプロイする
ユーザーのリクエスト:「GitHub Actions からの自動デプロイを設定してください」
GitHub Actions ワークフロー:
# .github/workflows/deploy.yml
name: Deploy to Coolify
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Trigger Coolify deployment
run: |
curl -X POST "${{ secrets.COOLIFY_URL }}/api/v1/deploy" \
-H "Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"uuid": "${{ secrets.COOLIFY_APP_UUID }}"}'
ガイドライン
- Coolify API トークンは安全に保管してください。バージョン管理にコミットしないでください。CI/CD では環境変数
COOLIFY_TOKENを使用してください。 - 複数の Coolify インスタンス(本番環境、ステージング)を管理するには
coolify contextを使用してください。URL のハードコードは避けてください。 coolify app env syncコマンドは非破壊的です。ファイルにない環境変数は削除されません。安全に同期するには、このコマンドを使用してください。- デプロイはキューに登録され、サーバーごとに順次処理されます。デプロイが遅れているように見える場合は、キューを確認してください。
- デプロイ失敗のトラブルシューティングでは、必ず最初に
coolify app deployments logs <deployment-uuid>を確認してください。 - データベースのバックアップには、Coolify で設定された S3 互換のストレージ(AWS S3、MinIO、Backblaze B2 など)が必要です。
- スクリプトで機械可読な出力を得るには、任意の CLI コマンドに
--format jsonを指定してください。 - API エンドポイントの詳細なリファレンスについては、references/api-reference.md を参照してください。