mcpField
E
elestio

elestio

github.com/elestioクラウド・DevOps17.5k 回インストール1 週間前に更新
リポジトリ

elestio について

Elestio CLI でサービスをデプロイ・管理するエージェント向けスキルです。データベース、カタログ掲載ソフトウェア、自作アプリの作業を対象とし、Elestio MCP コネクターのツールとの対応や、テンプレートと自作コードで異なる手順も示します。

主な機能

  1. 01カタログテンプレートの検索・デプロイ
  2. 02クラスターとフェイルオーバーの管理
  3. 03CI/CD パイプラインの作成・確認
  4. 04サービスログと監査記録の表示
  5. 05手順に沿ったデプロイ確認

活用シーン

  1. 01PostgreSQL や Redis のデプロイ
  2. 02カタログソフトウェアの CI/CD 先への配置
  3. 03GitHub からの自作アプリのデプロイ
  4. 04サービス状態とログの確認

MCP 対応

Elestio MCP コネクターのツールと CLI 操作の対応を示すスキルです。コネクターを利用できる場合、サービスのデプロイ、クラスターやパイプラインの管理、ログと監査記録の取得に使用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/elestio/elestio-skill --skill elestio

インストール後、Claude Code で/elestioを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
README.md
scripts/
install.sh

詳細

Elestio スキル

バージョン: 2.4 目的: Elestio DevOps プラットフォームでサービスをデプロイ、管理します ステータス: 使用準備完了 最終更新日: 2026-09-22

Elestio はフルマネージドの DevOps プラットフォームです。専用 VM(共有 Kubernetes ではありません)。400 以上のオープンソーステンプレート、10 のクラウドプロバイダー、100 以上のリージョンに対応しています。デプロイ、セキュリティ、アップデート、バックアップ、監視、サポートを提供します。

このスキルは公式 Elestio CLI(npm install -g elestio でインストールする elestio コマンド)を使用します。 代わりにElestio MCP コネクター(deploy_template、 deploy_catalog_pipeline、list_clusters などのツール)が利用できる場合は、そのツールを使用してください。以下のルールは同様に適用されます。各コマンドに対応するツールについては、「Elestio MCP コネクターの使用」を参照してください。


このスキルを使う場面

次の場合にこのスキルを使用してください:

  • ユーザーが PostgreSQL、MySQL、Redis、MongoDB、Elasticsearch などのデプロイを希望している
  • ユーザーが「デプロイ」「起動」「サーバーを作成」「データベースが必要」と言っている
  • ユーザーがオープンソースソフトウェア(WordPress、Grafana、n8n、Metabase など)について言及している
  • ユーザーが CI/CD 経由でカスタムコードをデプロイしたい
  • ユーザーがバックアップ、ファイアウォール、SSL、SSH アクセスを管理する必要がある
  • ユーザーがサービスのステータス、コスト、認証情報について質問している

トリガーフレーズ:

  • 「PostgreSQL をデプロイして」 -> elestio deploy postgresql
  • 「Redis キャッシュが必要」 -> elestio deploy redis
  • 「自動化用に n8n をセットアップして」 -> elestio deploy n8n
  • 「GitHub からアプリをデプロイして」 -> CI/CD ワークフロー(フェーズ 4)
  • 「実行中のサービスは?」 -> elestio services
  • 「いくらかかってる?」 -> elestio billing

このスキルを使わない場面

  • アカウントの初期設定 - サインアップ、支払い、承認は人間が手動で行う必要があります
  • 対話型 SSH セッション - 代わりに直接 SSH を使用してください
  • 複雑な Docker Compose の編集 - サーバーに直接 SSH 接続してください

デプロイ方法の選択:何をデプロイしますか?

デプロイ方法は 2 種類ではなく、3 種類あります。選択を間違えることが、デプロイ失敗の最も一般的な原因です。

Is the software in the Elestio catalog?  (elestio templates search <name>)
|
+-- YES
|   |
|   +-- Does the user want a managed, isolated VM?  (production databases,
|   |   anything needing backups / monitoring / support)
|   |       -> MANAGED SERVICE
|   |          elestio deploy <template> --project <id>
|   |
|   +-- Does the user want replication / high availability?
|   |       -> CLUSTER   (19 templates only: elestio clusters templates)
|   |          elestio deploy <template> --cluster --nodes <n> --project <id>
|   |
|   +-- Does the user want it cheap, or several apps on one VM?
|           -> PIPELINE FROM CATALOG TEMPLATE
|              elestio cicd deploy-template <software> --target <vmID>
|
+-- NO, it is the user's own code
    |
    +-- In a Git repo?
    |       -> elestio cicd create --auto --target <vmID> --name X --repo owner/repo
    |
    +-- Just a docker-compose file?
            -> elestio cicd create <pipeline.json>
重要:パイプライン内のカタログソフトウェア

CI/CD ターゲットでカタログソフトウェア(Vaultwarden、Redis、Metabase など)を実行するには、必ず elestio cicd deploy-template(MCP:deploy_catalog_pipeline)を使用してください。elestio cicd create(MCP:create_pipeline_docker / create_pipeline_auto)は使用しないでください。

cicd create は空のパイプラインを作成します。ソフトウェアのポート、環境変数、インストールスクリプトを認識しないため、パイプラインはデプロイされても何も実行されません。これは、最も頻繁に報告される失敗です。

deploy-template はテンプレートの elestio.yml( github.com/elestio-examples/<software> から取得)を読み込み、その内容に基づいてパイプラインを構成します。

# RIGHT
elestio cicd deploy-template vaultwarden --target <vmID>

# WRONG -- produces an empty pipeline
elestio cicd create --auto --target <vmID> --name vaultwarden --repo elestio-examples/vaultwarden

CLI 1.3.0 以降では、リポジトリ内のファイルをマウントするソフトウェアや、インストールスクリプトが必要なソフトウェア(Chromadb、Kafka、ClickHouse、WordPress、n8n など)も含め、カタログ全体で動作します。パイプラインは elestio-examples リポジトリを参照し、Elestio が VM 自体にリポジトリをクローンするため、ファイルが存在し、スクリプトも実行されます。Git アカウントは不要で、どこかにファイルをコピーする必要もありません。

CLI 1.2.x 以前では、Compose ファイルをインライン化する方法しかなく、カタログのおよそ半分はその方法では動作しませんでした。古い CLI を使用している場合は、ダッシュボードに切り替えるのではなく、アップグレードしてください(npm install -g elestio@latest)。

カタログを確認するには: elestio templates search # すべて elestio cicd templates # パイプラインとしてデプロイ可能 elestio clusters templates # クラスタリングに対応


Elestio MCP コネクターの使用

Elestio MCP ツールが利用できる場合(claude.ai コネクター、Claude Code MCP サーバーなど)は、CLI の代わりに使用してください。同じ操作に対応しており、 このスキルのすべてのルールが適用されます。破壊的なツールには "confirm": true が必要です。--force の前と同じように、まずユーザーに確認してください。

タスクCLIMCP ツール
ソフトウェアを検索するelestio templates search <name>search_templates
マネージドサービスをデプロイするelestio deploy <template>deploy_template
クラスターをデプロイするelestio deploy <template> --cluster --nodes Ncluster_nodes(および cluster_mode)を指定して deploy_template
クラスター化できるものを確認するelestio clusters templateslist_cluster_templates
デプロイを待機するelestio wait <vmID>wait_for_deployment(クラスターの場合は、カンマ区切りの providerServerID をそのまま渡します)
CI/CD ターゲットelestio deploy CI-CD-Targetdeploy_cicd_target
パイプラインでカタログのソフトウェアをデプロイするelestio cicd deploy-template <software> --target <vmID>deploy_catalog_pipeline(dry_run に対応)
パイプラインで自分のリポジトリを使用するelestio cicd create --auto ...create_pipeline_auto
パイプラインで自分の Compose を使用するelestio cicd create <pipeline.json>create_pipeline_docker
ターゲット上のパイプラインelestio cicd pipelines <vmID>list_pipelines
プロジェクト内のクラスターelestio clusterslist_clusters
クラスターとそのノードelestio clusters info <clusterID>get_cluster
レプリカを昇格するelestio clusters promote <clusterID> <vmID> --forcepromote_cluster_node
自動フェイルオーバーのオン/オフelestio clusters failover <clusterID> on|offset_cluster_auto_failover
レプリカを再同期するelestio clusters resync <clusterID> --forceresync_cluster
クラスターをロック/ロック解除するelestio clusters lock|unlock <clusterID>lock_cluster / unlock_cluster
ノードを追加するelestio clusters add-node <clusterID> [--dry-run]add_cluster_node(dry_run に対応)
ノードを削除するelestio clusters remove-node <clusterID> <vmID> --forceremove_cluster_node
クラスターのファイアウォールelestio clusters firewall|firewall-restrict|firewall-open <clusterID>get_cluster_firewall / set_cluster_port_access
クラスターを削除するelestio clusters delete <clusterID> --forcedelete_cluster
パイプラインのビルド履歴elestio cicd pipeline-history <vmID> <pipelineID>get_pipeline_history
パイプラインを削除するelestio cicd pipeline-delete <vmID> <pipelineID> --forcedelete_pipeline
サービスのライブログelestio logs <vmID>get_service_logs
サービスの監査証跡elestio audits <vmID>get_service_audits

MCP の deploy_template にはドライラン機能がありません。クラスターを作成する前に、 VM 数と月額費用を提示してください(provider と region を指定して list_providers_and_sizes を呼び出すと、VM ごとの料金が取得できます)。そのうえで、 ユーザーの承認を得てください。フィルターなしで呼び出した場合、 list_providers_and_sizes は各プロバイダーのリージョンのみを返します。

MCP の provider 値:netcup、hetzner、ovh、aws、lightsail、azure、 scaleway、linode、digitalocean、vultr、tcloud。netcup と OVH 以外では、 deploy_template に明示的な region が必要です。attach_volume では storage_type(NVME または HDD)を指定します。


セットアップ(一度だけ -- 人による操作が必要)

前提条件
  1. アカウントを作成する: https://dash.elest.io/signup
  2. メールアドレスを確認する: 受信トレイを開き、確認リンクをクリックします
  3. クレジットカードを追加する: https://dash.elest.io/account/payment
  4. 承認を待つ: 通常はすぐに完了しますが、24~48 時間かかる場合もあります
  5. API トークンを作成する: https://dash.elest.io/account/security -> Manage API Tokens -> Create Token
  6. スキルを設定する: メールアドレスと API トークンをエージェントに渡します
認証情報の設定
elestio login --email "[email protected]" --token "xxx_..."
elestio auth test
セットアップの確認
# Should show: [SUCCESS] Authenticated as [email protected]
elestio auth test

# List projects (should show at least one)
elestio projects

クイックスタートの例

PostgreSQL をデプロイする(2 コマンド)
# 1. Find template ID
elestio templates search postgresql
# -> ID: 11, PostgreSQL

# 2. Deploy (uses defaults: netcup/nbg/MEDIUM-2C-4G)
elestio deploy postgresql --project 112 --name my-db
# -> Waits for deployment, shows credentials when ready
Redis キャッシュをデプロイする
elestio deploy redis --project 112
WordPress をデプロイする
elestio deploy wordpress --project 112
クラスターをデプロイする(レプリケーション/HA)
# 1. Check the software supports clustering and see its minimum node count
elestio clusters templates

# 2. ALWAYS dry-run first: billing is per VM, --nodes 3 bills 3 VMs
elestio deploy postgresql --cluster --nodes 3 --project 112 --dry-run

# 3. Deploy
elestio deploy postgresql --cluster --nodes 3 --project 112

# 4. Follow it
elestio clusters list --project 112
elestio clusters info <clusterID>

ルール:

  • --nodes はプライマリを含む合計ノード数です。--nodes 3 はプライマリ 1 台+レプリカ 2 台を意味します。
  • ClickHouse、Vault、OpenSearch、RabbitMQ、rke2、Nats には、最低 3 ノード必要です。
  • それ以外は 2 ノードから開始します。最大は 15 ノードです。
  • --cluster-mode multi-master が使えるのは MySQL のみです。それ以外はすべて primary-replica(デフォルト)です。
カタログソフトウェアをパイプラインとしてデプロイする(Vaultwarden、Redis、Metabase など)

専用 VM ではなく CI/CD ターゲットにカタログソフトウェアをデプロイしたい場合は、この方法を使います。

# 1. Create a CI/CD target if none exists (this is a VM; pipelines share it)
elestio deploy CI-CD-Target --project 112 --name my-target
# -> note the vmID

# 2. Confirm the software is available as a pipeline template
elestio cicd templates vaultwarden

# 3. ALWAYS dry-run first: it prints the ports, env vars and lifecycle hooks
#    that will be applied, and creates nothing
elestio cicd deploy-template vaultwarden --target <vmID> --dry-run

# 4. Deploy (default route: Elestio clones the template repo on the VM)
elestio cicd deploy-template vaultwarden --target <vmID>

成功すると、CLI にソフトウェアの URL、ログイン情報、生成されたパスワードが表示されます。

方法は 3 つあります。デフォルトを使用してください。

repo(デフォルト)inline(--inline-compose)git(--owner <git-user>)
パイプラインの実行内容Elestio が VM 上にクローンする elestio-examples リポジトリインライン化された docker-compose.yml のみユーザーの Git アカウントにあるリポジトリのコピー
Git アカウントが必要いいえいいえはい
インストールスクリプト(pre/postInstall)実行されますスキップされます実行されます
Compose がマウントまたは読み込むファイル(env_file)存在しますありません存在します
対応範囲カタログ全体リポジトリ内のファイルを必要としないテンプレートすべてのテンプレート

デフォルトの方法では、imageData.dockerExample(テンプレートのリポジトリ URL)、branch、repoName を送信します。バックエンドはこれらをパイプラインの gitConfig.repoURL として保存し、デプロイエージェントが Elestio 独自の Git トークンを使ってそのリポジトリをクローンします。これはダッシュボードとまったく同じ動作です。

--inline-compose は、独自の Compose ファイルを使う方法です。この方法では、Compose がリポジトリ内のファイルをマウントまたは読み込むテンプレートを CLI が拒否し、該当するファイル名を示します。ファイルはリポジトリに含まれている場合(n8n の ./n8n-task-runners.json)、インストールスクリプトによって生成される場合(Kafka の ./jaas/*.conf)、または env_file の場合があります。これを回避するために --force を指定しないでください。代わりにデフォルトの方法を使用してください。

git の方法は利用できません。この方法には POST /api/cicd/createRepoByTemplate が必要ですが、Elestio API はこれに対して 404 を返します(コントローラーは存在しますが、バックエンドのルート許可リストに登録されていません)。 また、デフォルトの方法が利用できるため、現在はこの方法を使う必要もありません。

動作したと決めつけず、デプロイが完了したことを必ず確認してください。

elestio cicd pipelines <vmID>                          # Build column must say "success"
elestio cicd pipeline-history <vmID> <pipelineID>      # Status, duration, log file
GitHub からカスタムアプリをデプロイする(ユーザー自身のコード)
# 1. Deploy CI/CD target
elestio deploy CI-CD-Target --project 112 --name my-cicd

# 2. Auto-create pipeline
elestio cicd create --auto --target <vmID> --name my-app --repo owner/repo --mode github --auth-id <authID>
# -> Site is live at https://<name>-u<userID>.vm.elestio.app/

これはユーザー自身のリポジトリにのみ使用してください。カタログソフトウェアには、代わりに cicd deploy-template を使用してください。詳しくは上記を参照してください。

カスタムアプリをデプロイする(手動 — Docker モード)
# 1. Deploy CI/CD target
elestio deploy CI-CD-Target --project 112 --name my-cicd

# 2. Add SSH key for agent access
elestio ssh-keys add <vmID> --name "agent-key" --key "ssh-ed25519 AAAA..."

# 3. Generate pipeline config
elestio cicd template docker > pipeline.json
# Edit pipeline.json with correct CI/CD target info (see JSON reference below)

# 4. Create pipeline
elestio cicd create pipeline.json

# 5. SSH and configure
ssh root@<ipv4>
cd /opt/app/<pipeline-name>
# Edit docker-compose.yml, add code, docker-compose up -d
パイプライン JSON リファレンス(Docker モード — createCiCdExistServer ペイロード)

手動で作成しないでください。 elestio cicd template docker で生成して、 REPLACE の値を置き換えてください。このエンドポイントはダッシュボードのフォーム状態全体を受け取り、形式に少しでも違いがあると、 500 エラーが発生するか、パイプラインがビルドされません。現在の形式(CLI 1.1.0、 ライブ環境で検証済み):

{
  "cluster": {
    "isCluster": false,
    "createNew": false,
    "target": {
      "displayName": "REPLACE",
      "id": "REPLACE",
      "serverName": "REPLACE",
      "vmID": "REPLACE",
      "vmProvider": "REPLACE",
      "vmRegion": "REPLACE",
      "levelName": "Elestio-services",
      "projectID": "REPLACE"
    }
  },
  "gitData": {},
  "imageData": {
    "isPrivate": false,
    "compose": "services:\n  nginx:\n    image: nginx:alpine\n    ports:\n      - \"172.17.0.1:3000:80\"\n    volumes:\n      - ./html:/usr/share/nginx/html:ro",
    "dockerExample": "",
    "repoName": "CustomDocker"
  },
  "configData": {
    "buildDir": "/",
    "rootDir": "/",
    "runTime": "NodeJs",
    "buildCmd": "",
    "runCmd": "",
    "installCmd": "",
    "framework": "NoFramework",
    "version": "20"
  },
  "ports": [
    {
      "protocol": "HTTPS",
      "targetProtocol": "HTTP",
      "listeningPort": "443",
      "targetPort": 3001,
      "public": true,
      "targetIP": "172.17.0.1",
      "path": "/",
      "isAuth": false,
      "login": "",
      "password": "",
      "loginTitle": ""
    }
  ],
  "variables": "",
  "isPublicGitRepo": false,
  "exposedPorts": [
    {
      "protocol": "HTTP",
      "hostPort": "3000",
      "containerPort": "3000",
      "interface": "172.17.0.1"
    }
  ],
  "gitVolumeConfig": [
    {}
  ],
  "isNeedToCreateRepo": false,
  "gitUserFormData": {
    "selectedUser": "",
    "searchGitUser": "",
    "gitOrgsFilteredList": {
      "GITHUB": [],
      "GITLAB": []
    },
    "gitOrgsList": [],
    "selectedRepo": {},
    "thirdPartyRepoInput": "",
    "gitScopesUsers": [],
    "thirdPartyRepoScopeName": "",
    "getGitScopeUser": {
      "GITHUB": [],
      "GITLAB": []
    },
    "thirdPartyRepoName": "",
    "thirdPartyRepoPrivate": false,
    "loadSearch": false
  },
  "lifeCycleCommand": {
    "preInstallCommand": "",
    "postInstallCommand": "",
    "preBackupCommand": "",
    "postBackupCommand": "",
    "preRestoreCommand": "",
    "postRestoreCommand": "",
    "preUpdateCommand": "",
    "postUpdateCommand": "",
    "preDeployCommand": "",
    "postDeployCommand": ""
  },
  "monoRepoWorkSpaces": [
    ""
  ],
  "copyCommandConfig": [],
  "CICDMode": "DockerCompose",
  "projectID": "REPLACE",
  "pipelineName": "REPLACE",
  "isMovePipeline": false,
  "authID": null
}

cluster.target の値は elestio cicd targets から取得します。id はターゲットの serverID(バックエンドが読み取ります)、vmID はその vmID です。

よくあるペイロードの誤りを避けてください:

フィールド誤り正しい形式
CICDMode"DOCKER""DockerCompose"
configData.runTimeruntime(t が小文字)runTime(T が大文字)
configData.framework"""NoFramework"
imageData{ imageName, imageTag, registryUrl }{ isPrivate, compose, dockerExample, repoName }
gitData(Docker モード){ projectName, branch, ... }{}(空のオブジェクト)
authID(Docker モード)"0"null
isPublicGitRepo"false"(文字列)false(ブール値)
gitVolumeConfig[][{}]
ports[]{ targetPort, publishedPort, isDefault }{ protocol, targetProtocol, listeningPort, targetPort, targetIP, public, path, isAuth, login, password, loginTitle }
exposedPorts省略[{ protocol, hostPort, containerPort, interface }]
cluster.targetvmID のみid(serverID)、vmID、vmProvider、vmRegion、levelName、projectID、displayName、serverName
nonRepoWorkSpaces含める削除し、代わりに monoRepoWorkSpaces を使用
variables省略または [](配列)"" または "KEY=value\nKEY2=value2"(文字列。バックエンドは variables.trim() を実行します)
lifeCycleCommand(compose、リポジトリなし)./scripts/preInstall.sh のようなフックパスすべて "":エージェントは docker compose の実行前にパスに chmod を実行するため、ビルドに失敗します

コマンドリファレンス

認証と設定
elestio login --email X --token Y  # Set credentials
elestio auth test                  # Verify authentication
elestio whoami                     # Show current user
elestio config                     # Show current config
elestio config --set-default-project X  # Set default project
カタログ(認証不要)
elestio templates                  # List all 400+ templates
elestio templates search <query>   # Search by name
elestio templates info <name>      # Template details
elestio categories                 # List categories
elestio sizes                      # All provider/region/size combos
elestio sizes --provider netcup    # Filter by provider
elestio sizes --provider ovh       # OVHcloud: prices already include the launch offer
プロジェクト
elestio projects                   # List all projects
elestio projects create <name>     # Create project
elestio projects delete <id> --force  # Delete project
elestio projects members <id>      # List members
elestio projects add-member <id> <email>
elestio projects remove-member <id> <memberId>
サービス
elestio services                   # List all services
elestio services --project 123     # Filter by project
elestio service <vmID>             # Service details
elestio deploy <template> --project X --name Y
elestio deploy <template> --cluster --nodes 3   # Cluster (see Clusters below)
elestio deploy CI-CD-Target --project X         # Deploy a CI/CD target VM
elestio delete-service <vmID> --force
elestio move-service <vmID> <targetProjectId>
elestio wait <vmID>                # Wait for deployment
電源管理
elestio reboot <vmID>              # Graceful reboot
elestio reset <vmID>               # Hard reset
elestio shutdown <vmID>            # Graceful shutdown
elestio poweroff <vmID>            # Force power off
elestio poweron <vmID>             # Power on
elestio restart-stack <vmID>       # Restart Docker only (fastest)
elestio lock <vmID>                # Enable termination protection
elestio unlock <vmID>              # Disable termination protection
elestio resize <vmID> --size LARGE-4C-8G  # Upgrade/downgrade VM size (OVH: never to a smaller disk)
ファイアウォール
elestio firewall get <vmID>        # List rules
elestio firewall enable <vmID> --rules '[{"type":"INPUT","port":"22","protocol":"tcp","targets":["0.0.0.0/0"]}]'
elestio firewall update <vmID> --rules '[...]'
elestio firewall disable <vmID>
SSL/カスタムドメイン
elestio ssl list <vmID>            # List domains
elestio ssl add <vmID> <domain>    # Add with auto-SSL
elestio ssl remove <vmID> <domain>
SSH キー
elestio ssh-keys list <vmID>       # List keys
elestio ssh-keys add <vmID> --name "name" --key "ssh-ed25519 AAAA..."
elestio ssh-keys remove <vmID> --name "name"

注: SSH キーを追加する場合は、キーの種類とキーのデータのみを指定してください(例:ssh-ed25519 AAAA...)。キーの末尾にあるコメントやメールアドレスは含めないでください。

自動更新
elestio updates system-enable <vmID> --day 0 --hour 5 --security-only
elestio updates system-disable <vmID>
elestio updates system-now <vmID>  # Run OS update now
elestio updates app-enable <vmID> --day 0 --hour 3
elestio updates app-disable <vmID>
elestio updates app-now <vmID>     # Run app update now
elestio change-version <vmID> <version>  # e.g., PostgreSQL 15
アラート
elestio alerts get <vmID>          # Get current rules
elestio alerts enable <vmID> --rules '{...}' --cycle 60
elestio alerts disable <vmID>
バックアップ
# Local backups (application-level)
elestio backups local-list <vmID>
elestio backups local-take <vmID>
elestio backups local-restore <vmID> /opt/app-backups/backup.zst
elestio backups local-delete <vmID> /opt/app-backups/backup.zst

# Remote backups (Elestio managed)
elestio backups remote-list <vmID>
elestio backups remote-take <vmID>
elestio backups remote-restore <vmID> <backup-name>
elestio backups auto-enable <vmID>
elestio backups auto-disable <vmID>

# S3 external backups
elestio s3-backup verify <vmID> --key X --secret Y --bucket Z --endpoint S
elestio s3-backup enable <vmID> --key X --secret Y --bucket Z --endpoint S
elestio s3-backup disable <vmID>
elestio s3-backup take <vmID>
elestio s3-backup list <vmID>
elestio s3-backup restore <vmID> <backup-key>
elestio s3-backup delete <vmID> <backup-key>
スナップショット

Elestio は、どのプロバイダーでも VM スナップショットの提供を終了しました(2026-08-06 に終了)。 CLI にスナップショットコマンドはなく、MCP にもツールはありません。ユーザーからスナップショットを求められた場合は、 代わりにバックアップを使用してください(elestio backups remote-take を実行し、 backups auto-enable でスケジュール設定します)。

アクセスと認証情報
elestio credentials <vmID>         # App URL + login
elestio ssh <vmID>                 # SSH terminal URL
elestio ssh <vmID> --direct        # Direct SSH command
elestio vscode <vmID>              # VSCode web URL
elestio files <vmID>               # File explorer URL
elestio logs <vmID>                # Live app logs (temporary URL); --mode install for the install log
elestio audits <vmID> [--days 7]   # Who did what on the service
ボリューム

注: ボリュームのサポート状況はクラウドプロバイダーによって異なります。Hetzner と OVHcloud はボリューム操作を全面的にサポートしています。netcup など一部のプロバイダーでは、ボリュームのサポートが限定的、またはありません。

--type NVME(デフォルト、高速)または --type HDD(従来型、低価格)を指定します。OVH では、ローンチキャンペーン期間中(2027 年 1 月 1 日まで)、NVME は $0.125/GB/月、HDD は $0.075/GB/月です。その後はそれぞれ $0.25、$0.15 になります。HDD は Vultr と OVHcloud のみで利用でき、OVH の EU-WEST-PAR(パリ)と EU-SOUTH-MIL(ミラノ)では利用できません。これらの地域では CLI が HDD の指定を拒否します。

elestio volumes                    # List all volumes in project
elestio volumes create --name X --size 10 [--type NVME|HDD]
elestio volumes service-list <vmID>    # List attached to service
elestio volumes service-create <vmID> --name X --size 10 [--type NVME|HDD]
elestio volumes resize <vmID> <volumeID> --size 20
elestio volumes detach <vmID> <volumeID>
elestio volumes delete <vmID> <volumeID>
elestio volumes protect <vmID> <volumeID>
クラスター
elestio clusters templates                  # Software that supports clustering
elestio clusters                            # List clusters in the project
elestio clusters info <clusterID>           # Details + nodes
elestio clusters nodes <clusterID>          # Active nodes only

# Creation goes through deploy, not through clusters
elestio deploy <template> --cluster --nodes <n> [--cluster-mode multi-master]

# Operations -- all destructive ones require --force
elestio clusters promote <clusterID> <vmID> --force   # Promote a replica
elestio clusters failover <clusterID> on|off          # AUTOMATIC failover switch, does not switch now
elestio clusters resync <clusterID> --force           # ERASES replica data
elestio clusters lock <clusterID>                     # Termination protection
elestio clusters unlock <clusterID>
elestio clusters delete <clusterID> --force           # Deletes ALL nodes (not delete-service)

# Nodes -- dry-run add-node first: billed as one more VM
elestio clusters add-node <clusterID> --dry-run       # Copies the primary: provider, region, size, version
elestio clusters add-node <clusterID> [--size X] [--region Y]
elestio clusters remove-node <clusterID> <vmID> --force   # Replicas only

# Firewall -- applies to every node; the cluster's own nodes stay allowed
elestio clusters firewall <clusterID>
elestio clusters firewall-restrict <clusterID> --port 25432 --ips 203.0.113.7,198.51.100.0/24
elestio clusters firewall-open <clusterID> --port 25432

制約(CLI は API を呼び出す前にこれらを適用します):

ルール値
--nodes の数プライマリを含むノードの合計数
最小数(ほとんどのソフトウェア)2
最小数:ClickHouse、Vault、OpenSearch、RabbitMQ、rke2、Nats3(クォーラム)
最大数15
--cluster-mode multi-masterMySQL のみ
課金VM ごとです。--nodes 5 の場合、5 台分の VM が課金されます。
手動でプライマリを切り替えるfailover(自動フェイルオーバーの切り替えのみ)ではなく、promote を使用します
レプリカ読み取り専用で、SSL は使用できません。レプリカでは sslmode=require を指定すると失敗します
add-node の前提条件プライマリでリモートバックアップが有効であること(elestio backups auto-enable <vmID>)、プライマリ・レプリカモードであること
add-node の実行後VM がデプロイされた後、Elestio が数分かけてレプリカにします。その間、クラスターは running と表示されます。ほかのノードやファイアウォールを変更する前に完了を待ってください(CLI は変更を拒否します)
プライマリの削除できません。先にレプリカを promote するか、クラスターを削除してください
アクセスの制限clusters firewall-restrict を使用してください。1 台のノードに elestio firewall を実行してはいけません。他のノードとの構成にずれが生じます

--dry-run を先に実行し、VM 数と費用をユーザーに伝えずにクラスターをデプロイしてはいけません。

CI/CD パイプライン
# CATALOG SOFTWARE -> always use deploy-template (reads the template elestio.yml)
elestio cicd templates [query]     # Catalog software deployable as a pipeline
elestio cicd deploy-template <software> --target <vmID>
elestio cicd deploy-template <software> --target <vmID> --dry-run
elestio cicd deploy-template <software> --target <vmID> --inline-compose   # your own compose only
elestio cicd deploy-template <software> --target <vmID> --owner <git-user>  # git route (currently 404)
# Options: --name, --branch, --private, --non-org, --auth-id, --git-type,
#          --repo-name, --build-cmd, --run-cmd, --install-cmd, --build-dir

elestio cicd targets               # List CI/CD targets
elestio cicd pipelines <vmID>      # List pipelines
elestio cicd pipeline-info <vmID> <pipelineID>

# USER'S OWN REPO -> create --auto. Never use this for catalog software.
elestio cicd create --auto --target <vmID> --name my-app --repo owner/repo --mode github
elestio cicd create --auto --target <vmID> --name my-app --repo owner/repo --mode github --auth-id <id>
# Modes: github, github-fullstack, gitlab, gitlab-fullstack, docker
# Optional: --branch, --build-cmd, --run-cmd, --install-cmd, --build-dir, --framework, --node-version

# Manual pipeline creation (from JSON template)
elestio cicd template docker       # Docker Compose (custom, no Git)
elestio cicd template github       # GitHub Static SPA (Vite/React)
elestio cicd template github-fullstack  # GitHub Full Stack (Node.js)
elestio cicd template gitlab       # GitLab Static SPA (Vite/React)
elestio cicd template gitlab-fullstack  # GitLab Full Stack (Node.js)
elestio cicd create <config.json>

# Pipeline actions
elestio cicd pipeline-restart <vmID> <pipelineID>
elestio cicd pipeline-stop <vmID> <pipelineID>
elestio cicd pipeline-logs <vmID> <pipelineID>          # Running app logs
elestio cicd pipeline-log <vmID> --pipeline <id>       # Latest build log (URL)
elestio cicd pipeline-log <vmID> --pipeline <id> --file <logID>   # One build, logID from pipeline-history
elestio cicd pipeline-history <vmID> <pipelineID>
elestio cicd pipeline-delete <vmID> <pipelineID> --force

# Pipeline domains
elestio cicd domains <vmID> <pipelineID>
elestio cicd domain-add <vmID> --pipeline <id> --domain myapp.example.com
elestio cicd domain-remove <vmID> --pipeline <id> --domain myapp.example.com

# Docker registries
elestio cicd registries
elestio cicd registry-add --name X --username U --password P --url URL

パイプラインの自動作成フロー: CLI は接続済みの Git アカウントを検索するか(または --auth-id を使用して)、リポジトリと CI/CD のターゲットを特定し、API を通じてパイプラインを作成します。その後、Elestio がクローン、ビルド、起動を行います。ビルドの進行状況は elestio cicd pipelines <vmID> と elestio cicd pipeline-history <vmID> <pipelineID> で確認してください。

課金
elestio billing                    # Total costs
elestio billing project <id>       # Per-service breakdown

必須:対話形式でのデプロイ手順

重要: サービスをデプロイする際は、必須パラメーターを一つずつ AskUserQuestion を使ってユーザーに必ず確認してください。明示的なユーザー確認なしに、デフォルト値を使用してデプロイしてはいけません。

必須パラメーター(次の順に質問してください):

1. プロバイダー — AskUserQuestion を使用して質問します:

  • Netcup(推奨)— 価格と性能のバランスに優れ、EU に拠点があり、信頼性も高い
  • Hetzner — 機能が最も充実:ボリュームと電源の完全な管理に対応
  • OVHcloud — 欧州のプロバイダー。世界に35のリージョンを展開し、帯域幅は無制限。2027年1月1日まで、すべてのリソースが50%オフ
  • AWS — Amazon Web Services。グローバルに展開
  • Azure — Microsoft のクラウド

2. リージョン — 選択したプロバイダーに応じて、AskUserQuestion を使用して質問します:

  • Netcup:nbg(欧州 - ドイツ、ニュルンベルク)|mns(北米 - 米国、マナサス)
  • Hetzner:fsn1(ファルケンシュタイン、DE)、nbg1(ニュルンベルク、DE)、hel1(ヘルシンキ、FI)、ash(アッシュバーン、US)
  • OVHcloud:DE1(フランクフルト、DE)、GRA11(グラヴリーヌ、FR)、UK1(ロンドン、UK)、BHS5(ボーアルノワ、CA)、SGP1(シンガポール)。リージョンコードは大文字です。ローカルゾーン(*-LZ-*)では、利用できるサイズが少なくなります
  • AWS:us-east-1、eu-west-1、ap-southeast-1 など
  • Azure:germanywestcentral、eastus、westeurope など

必要に応じて、elestio sizes --provider <provider> を使用して利用可能なリージョンを正確に確認します。

3. サービスプラン(サイズ) — AskUserQuestion を使用して質問し、料金とともに利用可能なサイズを提示します:

  • SMALL-1C-1G — 1コア、1GB RAM(約$11/月、Linode)
  • MEDIUM-2C-4G — 2コア、4GB RAM(約$16/月、Netcup DE)
  • LARGE-4C-8G — 4コア、8GB RAM(約$30/月、Netcup DE)
  • XL-8C-16G — 8コア、16GB RAM(約$55/月、Netcup DE)

選択したプロバイダーのサイズと料金を正確に確認するには、elestio sizes --provider <provider> を使用します。

OVHcloud の料金: 2027年1月1日まで、すべての OVH リソースが50%オフです(ローンチキャンペーン):サービス、CI/CD ターゲット、ロードバランサー、ボリュームが対象です。サポートプランは割引対象外です。ボリュームの料金:NVME(高速)は$0.25/GB/月、キャンペーン期間中は$0.125、HDD(標準)は$0.15/GB/月、キャンペーン期間中は$0.075です。elestio sizes、deploy --dry-run、MCP の list_providers_and_sizes には割引後の料金がすでに表示されます(listPricePerHour には通常料金が表示されます)。その割引後の料金を提示し、ローンチキャンペーンの価格であることを伝えてください。OVH で最も安いプランは SMALL-1C-2G-D2 で、キャンペーン期間中は約$10/月(通常料金は$21/月)です。

4. サービス名 — AskUserQuestion は使用しないでください。ユーザーにプレーンテキストで名前の入力を求め、サービスの種類に応じたデフォルト名(例:「prod-postgres」、「staging-redis」)を提案します。ユーザーがテキストを入力するまで待ちます。

5. 管理者のメールアドレス — AskUserQuestion を使用して質問し、デフォルトとして勤務先のメールアドレスを提示します。ユーザーに確認または変更してもらいます。

対話例:
User: "Deploy PostgreSQL"
Agent: [AskUserQuestion] Which cloud provider? (Netcup recommended, Hetzner, OVHcloud, AWS, Azure)
User: "Netcup"
Agent: [AskUserQuestion] Which region? (nbg Europe-Germany, mns North America-US)
User: "nbg"
Agent: [AskUserQuestion] Which service plan? (SMALL ~$11/mo, MEDIUM ~$16/mo, LARGE ~$30/mo, XL ~$55/mo)
User: "MEDIUM"
Agent: "What name do you want for this service? Suggestion: prod-postgresql"
User: "demo-postgres"
Agent: [AskUserQuestion] Admin email? (Suggested: [email protected])
User: confirms
Agent: Deploys with all confirmed parameters

基本ルール

  1. 必ず最初に認証する -- すべてのセッションは、有効な JWT で開始します
  2. vmID != serverID -- ほとんどのエンドポイントでは vmID を使用しますが、バックアップ/メモでは serverID を使用します(どちらも elestio services から取得します)
  3. デプロイのステータスを確認する -- デプロイ後は、アクセスする前に deploymentStatus = "Deployed" になるまで待ちます
  4. 確認なしで削除しない -- 必ず --force フラグを要求します
  5. 可能な場合はカタログを使用する -- フェーズ 3(カタログ)はフェーズ 4(CI/CD)より簡単です 5b. パイプラインでカタログのソフトウェアを使う場合は、cicd deploy-template(MCP:deploy_catalog_pipeline)を使用し、cicd create(MCP:create_pipeline_docker/create_pipeline_auto)は絶対に使用しないでください -- これらはソフトウェアのポート、環境変数、インストールスクリプトを特定できないため、デプロイしても何も実行されないパイプラインを生成します
  6. 組み合わせを検証する -- プロバイダー、データセンター、serverType の組み合わせは elestio sizes に適合する必要があります
  7. アカウントの承認が必要 -- 新しいアカウントでは、デプロイ前にクレジットカードの登録と承認が必要です
  8. 上記のインタラクティブなデプロイ手順に必ず従う -- パラメーターに関する質問を省略しないでください
  9. デフォルトのプロジェクトを設定する -- elestio config --set-default-project <id> を使用すると、毎回 --project を指定せずに済みます
  10. サービスはプロジェクトに属する -- elestio service <vmID> を使用するときは、vmID が現在のデフォルトプロジェクトに属していることを確認するか、--project を指定してください
  11. VM が複数になる操作ではドライランを実行する -- クラスターをデプロイする前に必ず --dry-run を実行し、VM の台数と月額料金をユーザーに伝えてください。クラスターの料金は VM ごとに発生します
  12. --nodes は合計台数 -- --nodes 3 はプライマリ 1 台とレプリカ 2 台で、VM 3 台分の料金が発生します。4 台ではありません

デフォルト

設定デフォルト上書き
プロバイダーnetcup--provider hetzner/--provider ovh
データセンターnetcup の場合は nbg(ドイツ)、OVH の場合は DE1(フランクフルト)--region fsn1 -- その他のプロバイダーでは必須
サーバーサイズMEDIUM-2C-4G--size LARGE-4C-8G
サポートlevel1--support level2

netcup を推奨する理由:価格と性能のバランスが最適です。EU を拠点としています。信頼性にも優れています。


プロバイダーの制限事項

すべてのクラウドプロバイダーがすべての機能に対応しているわけではありません。--provider を使用して切り替えてください。

機能netcupHetznerOVHcloudAWSAzureScaleway
カタログからのデプロイ対応対応対応対応対応対応
CI/CD デプロイ対応対応対応対応対応対応
ボリューム非対応対応対応(NVME、HDD。Paris/Milan では HDD 非対応)対応対応対応
電源操作制限あり対応対応対応対応対応
ファイアウォール対応対応対応対応対応対応
SSL/ドメイン対応対応対応対応対応対応
サイズのダウングレード対応非対応対応(ディスク容量が同じか大きい場合のみ)対応対応対応
帯域幅無制限

Elestio には GCP プロバイダーがありません。

OVHcloud の IP は静的です:サービスのライフサイクル全体を通じて、パブリック IPv4 と IPv6 は同じままです。サイズ変更時も変わらないため、それらを参照する DNS レコードやファイアウォールの許可リストを更新する必要はありません。

サイズのダウングレードへの対応:インスタンスサイズのダウングレードに対応しているのは、Netcup、AWS、Azure、Scaleway、OVHcloud のみです。その他のプロバイダー(Hetzner など)はアップグレードのみ対応しています。非対応のプロバイダーでダウングレードを試みると、サービスがブロックされ、Elestio サポートの介入が必要になる場合があります。CLI は、非対応のプロバイダーでのダウングレードを自動的にブロックします。

OVHcloud では、どちらの方向へのサイズ変更でもディスク容量は縮小されません:CPU と RAM を同じに保つ場合でも、ディスク容量が小さいプランは拒否されます(LARGE-4C-8G の 100 GB から LARGE-4C-8G-D2 の 50 GB への変更など)。storageGB(elestio sizes --provider ovh --json で確認)が現在の容量以上のプランを選んでください。

推奨事項:ボリュームや電源管理の全機能が必要な場合は、Hetzner を使用してください。基本的な機能で十分で、コストパフォーマンスを重視する場合は netcup を使用してください。多くのリージョン、無制限の帯域幅、ローンチ特典を備えたヨーロッパのプロバイダーが必要な場合は OVHcloud を使用してください。インスタンスサイズを柔軟にダウングレードする必要がある場合は、netcup、AWS、Azure、Scaleway、OVHcloud を使用してください。


レート制限(ループする前にお読みください)

API は短時間の連続リクエストを制限し、その後数分間、認証を含むすべてのエンドポイントで Access temporarily restricted を返します。そのため認証情報の問題のように見えますが、実際は違います。

  • 一斉にリクエストを送らないでください。 サービス、プロジェクト、または 420 個のテンプレートカタログをループ処理する場合は、約 1 秒の間隔を空けて順番に実行してください。並列で一括処理したところ、アカウントが 30 分以上制限されました。
  • 制限されたら停止し、ループで再試行しないでください。 再試行すると、すでにリクエストが制限されているアカウントへのリクエストが増えます。
  • 空の結果として扱わないでください。 これを「このテンプレートには設定がない」と読み取るスクリプトは、何も分からないまま成功を報告してしまいます。
  • 数分待ってから、中断した箇所から再開するようユーザーに伝えてください。

CLI(>= 1.2.3)と MCP コネクターは、どちらもこの状況を明示的に報告します。


エラー処理

エラー原因解決策
"Not configured"認証情報がありませんelestio login --email X --token Y
"Authentication failed"認証情報が間違っている、またはトークンの有効期限が切れていますダッシュボードで API トークンを再作成してください
"Account not approved"新しいアカウントが未承認です承認を待つか、[email protected] にお問い合わせください
"Template not found"名前または ID が間違っていますelestio templates search <name> を使用してください
"Invalid serverType"プロバイダー、リージョン、サイズの組み合わせが存在しませんelestio sizes --provider X を確認してください
--region is required for <provider>netcup と OVH 以外ではデフォルトのリージョンがありませんelestio sizes --provider X から --region を指定してください
OVH cannot shrink the disk (X GB -> Y GB)OVH でディスク容量の小さいプランにサイズ変更しようとしています同等以上のディスク容量を持つプランを選択してください
HDD (classic) volumes are not available in ...OVH のパリまたはミラノで HDD ボリュームを使用しています--type NVME を使用してください
"Service not found"vmID またはプロジェクトが間違っていますelestio services --project X を確認してください
"Deployment timeout"処理に時間がかかりすぎていますダッシュボードを確認し、10 分を超える場合はサポートにお問い合わせください
"Project not found"projectId が間違っていますelestio projects を確認してください

組み合わせて使う:次に行うこと

サービスのデプロイ後
  1. 認証情報を取得する: elestio credentials <vmID>
  2. 稼働を確認する: URL を開き、サービスが動作することを確認します
  3. バックアップを有効にする: elestio backups auto-enable <vmID>
  4. カスタムドメインを追加する: elestio ssl add <vmID> myapp.example.com
  5. ファイアウォールを設定する: elestio firewall enable <vmID> --rules [...]
  6. 自動更新を有効にする: elestio updates system-enable <vmID> --security-only
CI/CD ターゲットの作成後

カタログのソフトウェア(Vaultwarden、Redis、Metabase など)には、次の手順を使用してください:

  1. 利用可能か確認する: elestio cicd templates <software>
  2. プレビューする: elestio cicd deploy-template <software> --target <vmID> --no-git --dry-run
  3. デプロイする: elestio cicd deploy-template <software> --target <vmID>
  4. 表示された URL、ログイン情報、パスワードをユーザーに伝える
  5. ドメインを追加する: elestio cicd domain-add <vmID> --pipeline <pipelineID> --domain myapp.example.com

ユーザー独自のリポジトリの場合:

  1. パイプラインを自動作成する: elestio cicd create --auto --target <vmID> --name my-app --repo owner/repo --mode github --auth-id <id>
  2. ビルドの進行状況を確認します:elestio cicd pipelines <vmID>(Build 列が "success" である必要があります)

docker-compose を手動で設定する場合:

  1. SSH キーを追加する: elestio ssh-keys add <vmID> --name "name" --key "key"
  2. パイプラインを作成する: elestio cicd create pipeline.json
  3. SSH 接続して設定する: ssh root@<ipv4>
  4. ドメインを追加する: elestio cicd domain-add <vmID> --pipeline <pipelineID> --domain myapp.example.com
エラー発生後
  1. 再認証する: elestio auth test
  2. 状態を確認する: elestio service <vmID>
  3. ログを表示する: elestio logs <vmID>(サービス)または elestio cicd pipeline-logs <vmID> <pipelineID>(パイプライン) 3b. 変更内容を確認する: elestio audits <vmID>
  4. スタックを再起動する: elestio restart-stack <vmID>

トラブルシューティング

"Authentication failed" が繰り返し発生する
# 1. Verify current config
elestio config

# 2. Re-configure with fresh token from dashboard
elestio login --email "..." --token "..."

# 3. Test
elestio auth test
「Deploying」の状態でサービスが停止している
  1. 通常、デプロイには2〜5分かかります
  2. 10分を超えても完了しない場合は、Elestio ダッシュボードでエラーを確認してください
  3. それでも停止したままの場合は、[email protected] にお問い合わせください
サービスが存在するのに「Service not found」と表示される
  • serverID ではなく vmID を使用していることを確認してください
  • 正しいプロジェクトを確認してください:elestio services --project X
  • vmID は次のような数値です:12345678
パイプラインをデプロイしたが、ソフトウェアが起動していない(最もよくあるケース)

ほとんどの場合、パイプラインが cicd deploy-template ではなく cicd create で作成されているため、ポート、環境変数、インストールスクリプトがありません。

# Confirm: a pipeline built correctly has env vars
elestio cicd pipeline-info <vmID> <pipelineID>

# Fix: delete it and redeploy through deploy-template
elestio cicd pipeline-delete <vmID> <pipelineID> --force
elestio cicd deploy-template <software> --target <vmID>

MCP コネクターでも原因は同じです。パイプラインが create_pipeline_docker または create_pipeline_auto で作成されています。deploy_catalog_pipeline で再デプロイしてください。

ソフトウェアが起動してすぐに終了する

CLI 1.3.0 では、デフォルトのルートで VM にテンプレートリポジトリがクローンされるため、インストールスクリプトが実行され、compose がマウントするファイルも存在します。それでもソフトウェアが失敗する場合は、次を確認してください。

elestio cicd pipeline-history <vmID> <pipelineID>     # did the build fail?
elestio cicd pipeline-log <vmID> --pipeline <id>      # the build log

まず確認すべき原因は次の2つです。

  • パイプラインが cicd deploy-template ではなく、cicd create(空のパイプライン)で作成されている
  • パイプラインが --inline-compose を指定して作成されているため、インストールスクリプトとリポジトリのファイルがスキップされている。削除して、デフォルトのルートで再デプロイしてください。
「No elestio.yml found at ...」

このソフトウェアにはパイプラインテンプレートがないため、パイプラインとしてデプロイできません。代わりに、マネージドサービスとしてデプロイしてください:elestio deploy <template>。

パイプラインが動作しない(一般)
  1. CI/CD ターゲットに SSH 接続します:ssh root@<ipv4>
  2. ログを確認します:cd /opt/app/<pipeline-name> && docker-compose logs
  3. docker-compose.yml の構文を確認します
  4. ポートマッピングを確認します:172.17.0.1:3000(内部ネットワーク)
クラスターのエラー
メッセージ原因
does not support clusteringクラスター化に対応しているテンプレートではありません。elestio clusters templates を実行してください
needs at least 3 nodesクォーラムソフトウェア(ClickHouse、Vault、OpenSearch、RabbitMQ、rke2、Nats)
does not support multi-master--cluster-mode multi-master は MySQL でのみ使用できます
cannot exceed 15 nodesプラットフォームの上限です
remote backups are off(add-node)新しいノードはプライマリのリモートバックアップからシードされます:elestio backups auto-enable <primary vmID>
is busy (add-node)ノードの設定中です。数分待ってください
is the primary(remove-node)先にレプリカを昇格するか、クラスター全体を削除してください
「variables.trim is not a function」(500 Pipeline.CreateFailed)

パイプラインのペイロードに含まれる variables フィールドは、配列や省略ではなく、文字列である必要があります。バックエンドはこのフィールドに対して variables.trim() を実行するため、ほかの型を指定すると、ビルド/実行/フレームワークの設定が読み込まれる前に例外が発生します(最小限のパラメーターでも失敗します)。

  • 正しい例:"variables": ""(環境変数なし)、または "variables": "KEY=value\nKEY2=value2"。
  • 誤った例:"variables": []、またはフィールド全体を省略すること。

CLI 1.1.0 以降ではこの形式が強制され、MCP コネクターも正しく送信します。CLI でこのエラーが発生した場合は、アップグレードしてください:npm install -g elestio@latest。


ID の参照(重要)

用語確認場所使用先
vmIDelestio services -> .vmIDほとんどのエンドポイント(アクション、ファイアウォール、ssl など)
serverIDelestio services -> .idバックアップのエンドポイント、メモ
projectIDelestio projects -> .projectIDほぼすべて
templateIDelestio templates -> .idelestio deploy
pipelineIDelestio cicd pipelines -> .pipelineIDCI/CD アクション
volumeIDelestio volumes -> .idボリュームのアクション

よくある間違い: vmID が必要な場所で serverID を使う(またはその逆)。同じサービスを指しますが、番号は異なります。


VM アーキテクチャ

Elestio の各サービスは、専用 VM 上で実行されます。

/opt/elestio/nginx/          <- Reverse proxy (auto-configured, don't modify)
/opt/app/                    <- Your application
    +-- docker-compose.yml   <- For catalog services
    +-- <pipeline_name>/     <- For CI/CD pipelines
  • リバースプロキシが HTTPS の終端処理を自動的に行います
  • SSL 証明書は Let's Encrypt を通じて自動生成されます
  • ポート 172.17.0.1:XXXX は Docker の内部ネットワークインターフェースです

Support Tiers

PlanPriceResponse Time
level1Included48h (email)
level2+$50/svc/mo24h (priority)
level3+$200/svc/mo4h (dedicated engineer)

Links

コメント