Web コンソール
Web コンソールは、どのノードでもポート 7080 で提供されます。CLI と同じ API を使い、表示はリアルタイムで更新されます。どのノードで Branch の状態が変わっても、再読み込みなしで表が変わります。オペレーションやイベントの専用ページはありません。作成中、リセット中、削除中の行には、その場で進行状況が表示されます。
コンソールを開く
Section titled “コンソールを開く”ブラウザで https://<node>:7080/admin を開きます。証明書は自己署名なので、最初に 1 度ブラウザの警告が出ます。https://<node>:7080/tls.pem からダウンロードして信頼させることもできます。
初回は、ユーザー admin と、db-branch init が表示したパスワードでサインインします。パスワードを忘れたら、どれかのノードで次を実行してください。クラスター全体の管理者パスワードがランダムな新しいものになり、全員がサインアウトされます。
sudo db-branch admin reset-passwordセッションは、既定では使わないまま 7 日で切れます(Settings → General → Console session)。サインイン画面には、モジュールが追加したシングルサインオンなどの方法も並びます。
コンソールは 2 つの部分に分かれています。
https://<node>:7080/はユーザーページ(“Get a database”)です。Base を選んで Branch を作り、接続情報をコピーし、自分の Branch を管理します。ログインしていない人には、公開 Snapshot だけが見えます。https://<node>:7080/adminは、以下で説明する管理コンソールです。サイドバーに Branches、Bases、Cluster、Settings と、モジュールが追加したページが並びます。管理者でもメンテナーでもない人が/adminを開くと、ユーザーページへの案内が表示されます。
誰が何をできるか
Section titled “誰が何をできるか”オープンソース版のアカウントは管理者だけで、すべての画面ですべての操作ができます。有償の auth モジュールを入れると、アカウントとロールが加わります。ロールは、アカウントメニューの名前の下に Administrator、Maintainer、Developer、Viewer のいずれかで表示されます。管理コンソールでは、ロールの権限で許された画面だけが見え、ボタンも、そのロールが押せるものだけが表示されます。Settings は管理者向けです。Updates タブは、アップデートを読める権限があるロールにも表示されます。
トークンを使うスクリプトはコンソールを使いません。トークンとスコープは API リファレンスを見てください。
Branches
Section titled “Branches”すべての Branch を表で表示します。
| 列 | 内容 |
|---|---|
| Status | provisioning、ready、resetting、deleting、failed、lost を示す点。ポインターを重ねると理由が出る |
| Name | Branch の名前。前にオーナー(alice/feature-x)、誰でも接続できる Branch には open のバッジ |
| Base | クローン元の Base(ポインターを重ねると Snapshot) |
| Engine | MySQL か PostgreSQL と、バージョン |
| Endpoint | ポート(クラスターではノードも)と、接続 URL をコピーするボタン |
| TTL | Branch の寿命の残り |
| Storage | Branch が書き込んだデータ量。ほかの Branch との比較つき |
+ Branch ボタンは、Snapshot のある Base ができるまで押せません。押すと New branch パネルが開きます。
- Name: 小文字の英字、数字、単独のハイフン。32 文字まで
- Base: クローンする Base。最新の Snapshot が使われます
- TTL: 1h、4h、1 day、3 days、7 days、None、または Other(
30m、14dなどを入力)。この時間が過ぎると Branch は自動で削除されます - Access: Private(専用のランダムなパスワード。オーナーと管理者だけ)または Anyone(クラスター共通のパスワード)
- Owner: Branch を管理する人。管理者のみ。空欄なら自分
- + Init SQL: クローンの後に 1 度だけ実行する SQL。Reset するとこの状態に戻ります
各行のアクションメニューには、次の項目があります。
- Connect…: 接続情報を開きます。タブは URL、Command、.env、Values です。パスワードは Show password を押すまで隠れています。コピーするとパスワードも含まれます
- Recreate:
lostの Branch(ノードが失われた)を、別のノードで Snapshot から作り直します - Copy proxy URL: ノードがプロキシを動かしているときに出ます
- Reset: 変更をすべて破棄します
- Extend 1h、Extend 24h、Extend 7d: 期限を、今から数えてその時間後にします
- Delete…: Branch の名前を入力して確認します。Branch のデータは失われます
Base は 1 枚のカードで表されます。名前、エンジン、状態、説明と、Snapshot のタイムラインが載っています。各 Snapshot の下には、その Snapshot から作った Branch が並びます。クラスターでは、Base を持つノードと、Snapshot ごとのコピーの有無(ノードごとの四角)も表示されます。カードをクリックすると詳細パネルが開きます。
+ Base を押すと New base が開きます。項目は Name、Description(任意)、Engine(インストール済みのバージョン。なければ先に Cluster 画面でインストールする)、Node(クラスターで Base を置くノード)、Data です。Data には、mysqldump または pg_dump のプレーン形式の .sql か .sql.gz ダンプを、自分のコンピューターからアップロードするか、ノード上のパスで指定します。何も指定しなければ空の Base になります。アップロードには進行状況が表示され、キャンセルもできます。
詳細パネルの内容は次のとおりです。
- Update data: 現在のデータの上にダンプを読み込む(Load a dump)か、Base のサーバーで管理者として SQL を実行します(Run SQL)。既存の Branch には影響しません
- Take snapshot: Base のサーバーを正常に停止して Snapshot を取り、再び起動します。Branch は必ず Snapshot から作られるので、データを変更したら Snapshot を取ります
- Delete base…: Branch が使っていない Base を削除します。確認のため Base の名前を入力します
- Edit description: 説明を変更します
- Replicas カード(クラスターのみ): 各ノードを
origin、held、pulling、drainingで表示します。All nodes か Chosen nodes を選んで Save を押します。コピーが少ないほどディスクを節約できますが、Branch は Base を持つノードでしか動かせません。外したノードは、そのノードの Branch がその Base を使わなくなった時点でコピーを手放します - Scheduled refresh カード: 元のデータベースから Base を再読み込みします。Set up… を押し、Source host、Port、User(読み取り権限があれば足ります)、Password、Databases(カンマ区切り)、Every(1h 以上。例: 24h)を入力します。設定後は、Source、Databases、Every、Last run、Next run が表示されます。Run now は、元をダンプして Base に読み込み、Snapshot を取ります。Edit でスケジュールを変更でき、パスワードを空にすると保存済みのものが残ります。Turn off で止めます。元のデータはマスクされていないため、読み込みの間だけディスクに置かれ、その後に削除されます
- Snapshots の表: 各 Snapshot の Taken(取得時刻)、使っている Branch の数、Access を表示します。Access が Private なら、ログインした人だけが、Public なら誰でもログインなしで Branch を作れます。Public な Snapshot から作った Branch は誰にでも開かれ、既定では最長 24 時間で、数にも上限があります(Settings を参照)。最新の Snapshot と使用中の Snapshot には
keptかin useと表示され、それ以外には Delete ボタンがあります。Prune old snapshots が有効なら、新しい Snapshot ができた時点で、使われていない古い Snapshot は自動で削除されます - Branches の一覧: その Base を使っている Branch
どのボタンが見えるかは、その Base に対する権限で決まります。管理できない Base のカードは読み取り専用です。スケジュールが未設定で、管理する権限もない場合、Scheduled refresh カードは表示されません。
別の Base からマスクする操作は、コンソールにはまだありません。db-branch base mask か API を使ってください。
Cluster
Section titled “Cluster”ノードごとに 1 列で表示します。各列の内容は次のとおりです。
- ノード名、リーダーを示す L、Voter か Non-voter か。クラスターの変更に投票するのは最大 5 ノードで、ほかのノードは完全なコピーを持ち、投票ノードが失われると自動で代わりになります
- Pool: ZFS プールの空き容量。80% か 90% を超えると色が変わります
- ZFS ARC max: そのノードの読み取りキャッシュの上限。適用できなかった場合は警告が出ます
- Last hour: CPU、Memory、Net in、Net out のスパークライン
- Branches: ノード上の Branch ごとに 1 つの点
Engines の表には、インストール済みのエンジンのバージョン、それを持つノードごとのチェック、使っているものが並びます。ランタイムをインストールする権限があれば、次の操作ができます。
- Add engine: 利用できる MySQL と PostgreSQL のバージョンを表示し、選んだものを全ノードにインストールします。進行状況は表に出ます
- Install on all / Install on N missing: 持っていないノードに、そのバージョンをインストールします
- Remove: 全ノードにあり、何も使っていないバージョンに表示されます
ノードが 1 台だけの場合は、そのノードだけが表示されます。
Settings
Section titled “Settings”管理者専用です。ページはタブに分かれていて、タブによってアドレスが変わります(/admin/settings/<tab>)。
General
Section titled “General”クラスター全体の設定です。グループごとに Save で反映します。
| 設定 | 内容 |
|---|---|
| Branch memory (MB) | 各 Branch の InnoDB バッファプールまたは shared_buffers。今後起動する Branch から反映される |
| Default TTL | 期限なしで作った Branch の寿命。空欄は期限なし |
| First branch port、Last branch port | Branch に使うポートの範囲 |
| Console session | ログインが、使わないまま続く時間 |
| Open branch password | open な Branch の共通パスワード(英数字) |
| Anonymous branch TTL、Anonymous branches | ログインなしで作った Branch の最長寿命と、同時に存在できる数。0 は作れない |
| Largest dump upload (MB) | これを超えるアップロードは拒否される |
| ZFS ARC max | 各ノードで ZFS が読み取りキャッシュに使えるメモリの上限。割合(50%)かサイズ(8GB) |
| Backup interval、Backups kept、Backup directory | 各ノードがクラスターの状態を保存する間隔、残すファイルの数、保存先。0 でバックアップを止める |
| Slack webhook URL、Webhook URL、Webhook secret、Warn before expiry | 期限が近い Branch、失敗したオペレーション、ダウンしたノードの通知。Webhook には JSON が届き、X-Db-Branch-Signature に HMAC-SHA256 の署名が付く |
| Check for updates daily | リーダーが 1 日 1 回、パッケージリポジトリに新しいバージョンを問い合わせるか |
| Prune old snapshots | 新しい Snapshot ができたら、Branch が使っていない古い Snapshot を削除する |
設定の下には Backups セクションがあります。ノードを選ぶと、そのノードのバックアップファイルを一覧し、ファイルごとの Download リンクと Back up now ボタンがあります。ファイルには秘密が含まれるので、ダウンロードしたものは安全に保管してください。復元は、ノードで db-branch backup restore <file> を実行します。Base のデータは含まれません。
Service tokens
Section titled “Service tokens”CI や外部連携向けです。サービストークンは人ではなく、トークン自身として動きます。一覧に名前、スコープ、有効期限が並び、Revoke で失効させます。発行するときは、名前、スコープ(branches か full)、有効期限(7 日から 1 年、または期限なし)を選んで Issue を押します。トークンは 1 度だけ表示され、Claude Code で使うための claude mcp add コマンドと、自己署名証明書の tls.pem へのリンクも表示されます。個人のトークンは、Account で各自が作ります。
Modules
Section titled “Modules”License カードに、ライセンスの状態が表示されます。有償モジュールは、最初の 1 つを有効にしてから 30 日間はキーなしで動き、それ以降は対象のキーが必要です。キーを貼り付けて Verify を押すと、有効なキーが保存され、そのモジュールが全ノードで有効になります。カードには、顧客、有効期限、ノード数の上限、キーが対象とするものが表示されます。
その下には、パッケージリポジトリが提供するモジュールごとのカードが並びます。カードには、Paid · trial、Paid · licensed、Paid · needs licence のいずれか、バージョン、ノードごとの四角(最新のバージョンが動いていれば塗りつぶし)が表示され、インストール中や問題がある間はその旨が出ます。Enable で全ノードにインストールし、Disable で無効にします。有効にしたモジュールには、設定を載せた専用のタブと Configure › のリンクができます。
Updates
Section titled “Updates”アップデートを読める権限があるロールに表示されます。ノードにログインせずに、クラスターを新しいマイナーまたはパッチバージョンに上げられます。表には、ノードごとのバージョンと稼働状態が並び、リーダーには印が付きます。Check for updates はパッケージリポジトリに問い合わせ、最後に確認した日時とノードがページに出ます。確認すると、新しいバージョンのあるパッケージが一覧されます。Update to X を押すと確認(Start the update)があり、ロールアウトが始まります。フォロワーを 1 台ずつ更新し、リーダーは最後です。各ノードはエージェントを再起動するので、そのノードの Branch と Base は停止してから再び起動します。ノードが失敗するとロールアウトは止まり、元には戻りません。実行中は Stop the rollout で止められ、まだ始まっていないノードは更新されません。メジャーアップデートは手作業です。
Account
Section titled “Account”サイドバー下部のアカウントメニュー(自分の名前)を開き、Account settings を選びます。
- Profile: 名前、サインイン ID、ロール。アカウントの情報で、変更するのは管理者です
- Language: English、日本語、またはブラウザの既定。アカウントに保存されます
- MCP access: 自分として動く個人トークンで、Claude Code などの LLM エージェント向けです。名前と有効期限を選んで Issue を押します。トークンは 1 度だけ、
claude mcp add --transport http db-branch https://<node>:7080/v1/mcp ...のコマンドとともに表示されます。個人トークンのスコープはbranchesです。同じ一覧から失効させられます - Password: パスワードを変更します(12 文字以上。ほかのセッションはサインアウトされます)。サインインプロバイダーを使っている場合、パスワードはそちらで管理されます
メニューには、2 つの部分を切り替える Admin console または User page と、Sign out もあります。