mcpField
Z
zeabur-domain-url

zeabur-domain-url

github.com/zeaburクラウド・DevOps39189 回インストール7 週間前に更新
リポジトリ

zeabur-domain-url について

CLIでZeaburのドメインを管理する開発者向けのスキルです。URL変数、生成ドメインとカスタムドメインの設定に加え、Wonder Meshサービス固有の制約を説明します。

主な機能

  1. 01URL変数とドメイン変数の区別
  2. 02生成ドメインとカスタムドメインの作成
  3. 03ドメインの一覧表示と削除
  4. 04Wonder Meshのドメイン制約の説明

活用シーン

  1. 01URL末尾のスラッシュによるパス問題の回避
  2. 02Zeaburサービスの公開ドメイン設定

インストール

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

$npx skills add https://github.com/zeabur/agent-skills --skill zeabur-domain-url

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

詳細

Zeabur ドメイン URL の設定

Zeabur CLI の実行には、必ず npx zeabur@latest を使用してください。 zeabur を直接実行したり、ほかのインストール方法を使用したりしないでください。npx が利用できない場合は、先に Node.js をインストールしてください。

症状

  • リダイレクト先の URL が間違っている(ドメインサフィックスがない、または末尾にスラッシュがある)
  • URL の不一致による CORS エラー
  • ${ZEABUR_WEB_URL} の末尾にスラッシュがあり、パスの問題が発生する

システム変数

変数例備考
ZEABUR_WEB_URLhttps://app.zeabur.app/末尾にスラッシュがあります
ZEABUR_WEB_DOMAINapp.zeabur.appドメインのみ。プロトコルは含みません

解決方法

エントリーサービスの URL を、ほかのサービスから参照できるようにします。

- name: entry-service
  domainKey: PUBLIC_DOMAIN
  spec:
    env:
      APP_URL:
        default: https://${ZEABUR_WEB_DOMAIN}
        expose: true

- name: backend
  spec:
    env:
      WEB_URL:
        default: ${APP_URL}

末尾のスラッシュを避けるため、${ZEABUR_WEB_URL} ではなく https://${ZEABUR_WEB_DOMAIN} を使用してください。

CLI によるドメイン管理

ドメインを一覧表示する
npx zeabur@latest domain list --id <service-id> -i=false
生成ドメイン(*.zeabur.app)を作成する

-g を使うと、Zeabur 管理のサブドメインを作成できます。-g を指定した場合、--domain に指定するのはプレフィックスのみです(完全なドメイン名ではありません)。

npx zeabur@latest domain create --id <service-id> -g --domain myapp -y -i=false
# Suffix is auto-appended by backend based on region:
#   Default:           myapp.zeabur.app
#   Aliyun (China):    myapp.preview.aliyun-zeabur.cn
#   Tencent (China):   myapp.preview.tencent-zeabur.cn
#   Huawei (China):    myapp.preview.huawei-zeabur.cn
# China suffixes require completed identity verification on Zeabur.

生成ドメインのプレフィックスの検証ルール:

  • 3 文字以上であること
  • ドットは使用できません。英数字とハイフンのみ使用できます
  • 3 文字未満の場合は DOMAIN_NAME_TOO_SHORT エラーになります
  • プレフィックスにドットが含まれている場合は UNSUPPORTED_DOMAIN_NAME エラーになります
カスタムドメインを作成する

-g を指定しない場合、--domain には完全なドメイン名を指定します。

npx zeabur@latest domain create --id <service-id> --domain example.com -y -i=false

カスタムドメインを作成したら、zeabur-domain-dns スキルを使用して必要な DNS レコードを設定してください。専用サーバーの場合は、次のコマンドで IP アドレスを確認します。

npx zeabur@latest server list -i=false
# Note the IP address of the server running your service

続いて DNS プロバイダーで、次の設定を行います。

Type: A
Name: <your subdomain or @>
Value: <server IP from above>

DNS の値を推測しないでください。 DNS を設定する前に、必ず server list の出力から実際のサーバー IP アドレスを取得してください。

ドメインを削除する
npx zeabur@latest domain delete --id <service-id> --domain <domain> -y -i=false
Wonder Mesh サーバー:WONDER_MESH_SERVER_REQUIRES_GATEWAY

Wonder Mesh プロバイダーのサーバーで実行されているサービスに、ドメインを直接バインドすることはできません。ドメインを作成するすべてのフロー(domain create、デプロイ時の自動ドメインバインド、テンプレートのデプロイ、PR プレビュー)は、次のエラーで拒否されることがあります。

Error: WONDER_MESH_SERVER_REQUIRES_GATEWAY

これは、サービスのポート設定やネットワーク設定の誤りではなく、CLI を再試行しても成功しません。アプリサービスにドメインを直接バインドすると、ドメインが永久に PROVISIONING の状態から進まなくなるため、バックエンドによってリクエストが拒否されます。これらのサービスのドメインは Wonder Mesh ゲートウェイを介して割り当てる必要がありますが、そのフローは Zeabur Dashboard でのみ利用できます。

このエラーが発生した場合:

  1. 停止してください。 同じ引数、別のフラグ、変更したポート設定、別のサービス ID を使う場合も含め、domain create を再試行しないでください。
  2. ユーザーに Dashboard を案内してください。 Zeabur Dashboard でサービスを開き、Domains タブからドメインを設定するよう伝えてください。
  3. Dashboard が行う処理を説明してください。 Domains タブでは Wonder Mesh ゲートウェイのアタッチフローが実行され、ユーザーに代わって wonder-mesh-gateway-{wonderNetID} プロジェクト内の app-gateway サービスにドメインがバインドされます。サポートされている方法はこれのみです。

次の操作は行わないでください。

  • CLI または API から Wonder Mesh アプリサービスにドメインを直接バインドする
  • domain create を使って、自分でドメインをゲートウェイサービスにバインドする
  • CLI / MCP の「gateway attach」コマンドを使用する(そのようなコマンドはありません)

その他すべてのサーバー上のサービスには影響ありません。上記の生成ドメインおよびカスタムドメインのフローは、これまでどおり動作します。

注意
  • 非対話モードでは --domain が常に必須です。指定しない場合、CLI は INVALID_DOMAIN_NAME を返します。
  • -g を指定する場合は、完全な myapp.zeabur.app ではなく、プレフィックスのみ(例:myapp)を指定してください。
  • -g を指定しない場合は、完全なドメイン(例:example.com)を指定してください。

コメント