mcpField
C
coolify

coolify

github.com/terminalskillsクラウド・DevOps186104 回インストール今日更新
リポジトリ

coolify について

Coolify のデプロイやリソースをターミナルから管理するスキルです。Coolify を運用する担当者やチーム向けに、CLI 操作と CI/CD 用の REST API の使い方を扱います。

主な機能

  1. 01CLI コンテキストの設定と切り替え
  2. 02アプリの個別・一括デプロイ
  3. 03アプリ環境変数の管理
  4. 04データベースの作成と操作
  5. 05サーバーとリソースの確認

活用シーン

  1. 01アプリを Coolify にデプロイ
  2. 02本番 .env ファイルから変数を同期
  3. 03データベースの作成と操作
  4. 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 を参照してください。

コメント