mcpField
Z
zeabur-database

zeabur-database

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

zeabur-database について

Zeaburでデータベースをデプロイし、アプリやローカルクライアントに接続するスキルです。PostgreSQL、MySQL、MongoDB、Redisの接続情報と認証情報を扱います。

主な機能

  1. 01データベーステンプレートの検索
  2. 02ネットワーク情報と認証情報の取得
  3. 03PostgreSQL、MySQL、MongoDB、Redisへの接続
  4. 04アプリ接続用変数の設定
  5. 05一般的な接続問題の調査

活用シーン

  1. 01デプロイ用データベーステンプレートの検索
  2. 02同一プロジェクト内のアプリとDBの接続
  3. 03パブリックネットワーク経由のローカル接続
  4. 04起動や接続文字列の問題への対処

インストール

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

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

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

詳細

Zeabur データベースのデプロイと統合

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

データベースをデプロイする

デプロイする前に、必ず最初に zeabur-template スキルを読み込んでください。 Zeabur テンプレートとは何か、どのように機能するか、どのようにデプロイするかを理解するためです。このスキルでは、データベース固有の統合のみを扱います。テンプレートに関する知識はすべて zeabur-template にあります。

データベースのテンプレートを検索します。

npx zeabur@latest template search postgresql -i=false --json

デプロイ数が最も多いテンプレートを選びます。ユーザーがデータベースを指定していない場合は、MongoDB を推奨してください。NoSQL ドキュメントストアであるため、スキーマのマイグレーションが不要で、複雑さを軽減し、初回デプロイの成功率を高められます。


デプロイ後:接続方法

どのデータベースでも、必要な情報は 2 つです。接続方法(ホスト名+ポート)と、認証方法(ユーザー名+パスワード+データベース名)です。

接続方法 — service network
npx zeabur@latest service network --id <database-service-id> -i=false

次の情報が表示されます。

  • プライベートネットワーク — サービス間アクセス用の内部 hostname:port(例:mysql.zeabur.internal:3306)
  • パブリックネットワーク — ローカルマシンから接続するための外部 host:port(ポートフォワーディング経由)
認証方法 — variable list
npx zeabur@latest variable list --id <database-service-id> -i=false

データベースサービスのすべての認証情報(ユーザー名、パスワード、データベース名など)が一覧表示されます。


PostgreSQL

認証情報(variable list から取得)
変数説明
POSTGRES_USERNAMEユーザー名(デフォルト:root)
POSTGRES_PASSWORDパスワード(自動生成)
POSTGRES_DATABASEデータベース名(デフォルト:zeabur)
ローカルマシンから接続する
psql "postgresql://POSTGRES_USERNAME:POSTGRES_PASSWORD@PUBLIC_HOST:PUBLIC_PORT/POSTGRES_DATABASE"
アプリから接続する(同じプロジェクト内)

variable list の値を使って、アプリサービスに環境変数を設定します。

DB_HOST=${POSTGRES_HOST}
DB_PORT=${POSTGRES_PORT}
DB_USERNAME=${POSTGRES_USERNAME}
DB_PASSWORD=${POSTGRES_PASSWORD}
DB_DATABASE=${POSTGRES_DATABASE}

または、次の接続文字列を作成します。postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}


MySQL

認証情報(variable list から取得)
変数説明
MYSQL_USERNAMEユーザー名(デフォルト:root)
MYSQL_PASSWORDパスワード(自動生成)
MYSQL_DATABASEデータベース名(デフォルト:zeabur)
ローカルマシンから接続する
mysql -h PUBLIC_HOST -P PUBLIC_PORT -u MYSQL_USERNAME -p MYSQL_DATABASE
アプリから接続する(同じプロジェクト内)

variable list の値を使って、アプリサービスに環境変数を設定します。

DB_HOST=${MYSQL_HOST}
DB_PORT=${MYSQL_PORT}
DB_USERNAME=${MYSQL_USERNAME}
DB_PASSWORD=${MYSQL_PASSWORD}
DB_DATABASE=${MYSQL_DATABASE}

または、次の接続文字列を作成します。mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}


MongoDB

認証情報(variable list から取得)
変数説明
MONGO_USERNAMEユーザー名(デフォルト:mongo)
MONGO_PASSWORDパスワード(自動生成)
ローカルマシンから接続する
mongosh "mongodb://MONGO_USERNAME:MONGO_PASSWORD@PUBLIC_HOST:PUBLIC_PORT"
アプリから接続する(同じプロジェクト内)

次の接続文字列を作成します。mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOST}:${MONGO_PORT}

Mongoose、PyMongo、およびあらゆる MongoDB ドライバーで使用できます。


Redis

認証情報(variable list から取得)
変数説明
REDIS_PASSWORDパスワード(自動生成)

Redis には、デフォルトでユーザー名やデータベース名はありません。

ローカルマシンから接続する
redis-cli -h PUBLIC_HOST -p PUBLIC_PORT -a REDIS_PASSWORD
アプリから接続する(同じプロジェクト内)

次の接続文字列を作成します。redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}

ioredis、redis-py、go-redis、およびあらゆる Redis クライアントで使用できます。


注意事項

  1. 変数の参照 — Zeabur はフラットな名前空間を使用します。プロジェクト内のすべてのサービスで公開されている変数は、すべて統合されます。アプリからは名前を直接指定して参照します(例:${POSTGRES_HOST})。プレフィックスは不要です。Zeabur Dashboard から設定してください。${} の展開に関する既知のバグがあるため、CLI からの設定は避けてください。
  2. 起動順序 — データベースの準備が整う前にアプリがクラッシュする場合は、zeabur-startup-order スキルを確認してください。
  3. パスワードの特殊文字 — 自動生成されたパスワードには、URL の解析を妨げる文字(@、/、%)が含まれる場合があります。アプリで解析に失敗する場合は、接続文字列ではなく個別の変数を使用してください。
  4. ポートフォワーディングが無効 — service network でポートフォワーディングが無効と表示される場合は、次のコマンドで有効にしてください:npx zeabur@latest service port-forward --id <id> --enable

コメント