Dolt サーバーへの接続

Beadbox は稼働中の Dolt SQL サーバーに接続でき、CLI で使用している beads データベースに対して複数人での書き込みアクセスとチームワークフローを実現します。

Beadbox 0.15.0 以上が必要です バージョンは設定 > バージョン情報、または以下で確認できます /api/version.

前提条件

開始する前に、以下の3つが稼働している必要があります:

コンポーネント最小バージョン確認方法
beads CLI (bd)0.58.0+bd --version
Dolt サーバー稼働中で接続を受け付けている状態dolt sql-server プロジェクトディレクトリ内で実行
Beadbox0.15.0+設定 > バージョン情報

Dolt サーバーには bd init で作成されたデータベースが少なくとも1つ必要です。Beadbox はサーバー上のすべてのユーザーデータベースを検出します(information_schema などのシステムデータベースは除外されます)。

クイックスタート (ローカル、認証なし)

最も手軽な方法: 認証を設定していないローカルマシン上の Dolt サーバーに接続します。

1. Dolt サーバーを起動

cd ~/Projects/myproject
bd dolt start

bd は OS が割り当てたポートで Dolt を起動し、.beads/dolt-server.port に保存します。ポートはターミナル出力に表示されます。代わりに直接 dolt sql-server を実行した場合、デフォルトのポートは 3307 です。

2. Beadbox を開く

ワークスペース選択画面で既存のワークスペースを使用をクリックします (初回起動時はウェルカム画面の詳細設定カードを探してください)。

Tip: または、<strong>サーバーをスキャン</strong>をクリックして、localhost で稼働中の Dolt サーバーを自動検出できます。サーバーが見つかると、Beadbox がホストとポートを自動入力します。

3. 接続情報を入力

ホスト127.0.0.1 (入力済み)
ポートbd dolt start のターミナル出力を確認するか、.beads/dolt-server.port を参照してください
ユーザーroot (入力済み)
パスワード空のまま
TLSチェックなし

4. 「データベースを検出」をクリック

Beadbox がサーバーに接続し、SHOW DATABASES を実行してすべてのユーザーデータベースを検索します。

5. データベースを選択

検出画面にサーバー上で見つかったすべての beads データベースが一覧表示されます。ワークスペースとして追加したいものにチェックを入れてください。それぞれにローカルディレクトリパスが割り当てられます。

6. 「ワークスペースを追加」をクリック

.beads/ を含むローカルプロジェクトディレクトリがある場合、Beadbox はその metadata.json にサーバー接続情報を更新します。ローカルプロジェクトのないリモートサーバーに接続する場合、Beadbox は ~/.beadbox/servers/ にスタブワークスペースを作成し、独自の metadata.json を生成します。いずれの場合も、ワークスペースは登録され、すぐに開きます。

接続完了です。CLI で bd を通じて行った変更や、同じ Dolt サーバーに書き込む他のチームメンバーの変更は、数秒以内に Beadbox に表示されます (サーバーモードでは2秒間隔で変更をポーリングします)。

認証付きで接続

Dolt サーバーがユーザー名とパスワードを要求する場合:

  1. クイックスタートと同じ手順に従い、ユーザーパスワードフィールドに Dolt サーバーの認証情報を入力してください。
  2. TLS が必要な場合 (リモートサーバーでは一般的)、TLS を使用チェックボックスをオンにしてください。
  3. データベースを検出をクリックして検出を進めてください。

パスワードの取り扱い

  • パスワードはメモリ内にのみ保持されます。Beadbox はパスワードをディスクに書き込みません。
  • Beadbox を再起動するとパスワードは失われます。起動のたびに再入力する手間を省くには、シェルプロファイルで BEADS_DOLT_PASSWORD を設定してください (パスワードの永続化を参照)。
  • 内部的には、Beadbox はサブプロセス呼び出しごとに BEADS_DOLT_PASSWORD 環境変数を通じて bd CLI にパスワードを渡します。

Hosted Dolt とリモートサーバー

リモートマシン、クラウド VM、または Hosted Dolt で稼働する Dolt サーバーの場合:

  1. ホスト: サーバーのホスト名または IP を入力します。
  2. ポート: プロバイダーが指定するポートを使用します。Hosted Dolt は通常 3306 を使用します。
  3. ユーザー/パスワード: プロバイダーから提供された認証情報を入力します。
  4. TLS: 「TLS を使用」にチェックを入れてください (Hosted Dolt では必須、リモート接続全般で推奨)。
  5. データベースを検出をクリックし、通常通り進めてください。

パスワードの永続化

Beadbox はパスワードをメモリ内にのみ保持するため、再起動時に失われます。認証が必要なサーバー (ローカル、リモート問わず) では、シェルプロファイルに設定することで再入力を省略できます:

export BEADS_DOLT_PASSWORD="your-password-here"

Beadbox はすべてのサーバーモードワークスペースでこの設定を自動的に検出します。UI のパスワードフィールドと両方が設定されている場合は、UI が優先されます。

仕組み

サーバーワークスペースを追加すると、Beadbox は3つの処理を行います:

1. 接続メタデータの書き込み

.beads/metadata.json にサーバー接続情報を記録します。ローカルプロジェクトの場合、このファイルはプロジェクトディレクトリに配置されます。サーバーのみの接続 (ローカルプロジェクトなし) の場合、~/.beadbox/servers/ に配置されます:

{
  "dolt_mode": "server",
  "dolt_server_host": "127.0.0.1",
  "dolt_server_port": 13842,
  "dolt_database": "myproject",
  "dolt_server_user": "root",
  "database": "dolt"
}

TLS が有効な場合、"dolt_server_tls": true キーが追加されます。このファイルは、ローカルサーバーを自動起動するのではなく、指定されたサーバーに接続するよう bd に指示します。パスワードは意図的にこのファイルには含まれません。

2. ワークスペースの登録

ワークスペースが ~/.beadbox/registry.json に追加され、Beadbox と bd が次回起動時に検出できるようになります。

3. 実行時の認証情報の受け渡し

Beadbox がこのワークスペースで bd コマンドを呼び出すたびに、サブプロセスの環境に BEADS_DOLT_PASSWORD を設定します。パスワードはプロセスメモリ内にのみ存在します。

トラブルシューティング

接続拒否

Error: connect ECONNREFUSED 127.0.0.1:<port>
  • Dolt は起動していますか? ps aux | grep dolt で確認するか、プロジェクトディレクトリで dolt sql-server を試してください。
  • ポートは正しいですか? bd dolt start で Dolt を起動した場合、ポートは .beads/dolt-server.port に保存されます。現在の値はそのファイルを確認してください。直接 dolt sql-server を実行した場合、デフォルトは 3307 です。
  • ファイアウォールは? リモートサーバーでは、インバウンド接続用にポートが開放されていることを確認してください。

アクセス拒否

Error: Access denied for user 'root'
  • パスワードが必要ですか? Dolt サーバーで認証が有効になっている可能性があります。接続フォームにパスワードを入力してください。
  • ユーザー名は正しいですか? ユーザー名が読み取りアクセス権を持つ Dolt ユーザーと一致しているか確認してください。
  • パスワードは正しいですか? パスワードはセッション間で保存されません。Beadbox を再起動した後に再入力してください。

TLS ハンドシェイクエラー

Error: TLS handshake failed
  • TLS チェックボックスの不一致 サーバーが TLS を要求する場合は「TLS を使用」にチェックを入れてください。TLS に対応していない場合はチェックを外してください。どちらの方向でも間違っているとハンドシェイクエラーが発生します。
  • 自己署名証明書 Dolt サーバーが自己署名証明書を使用している場合、CA をシステムのトラストストアに追加する必要がある場合があります。bd CLI はシステムのルート CA プールを使用し、信頼されていない証明書を拒否します。

データベースが見つからない

No databases found on 127.0.0.1:<port>.
Verify the Dolt server has at least one database created with bd init.
  • 命名規則 プロジェクトディレクトリで bd init が少なくとも1回実行されていることを確認してください。データベースは Dolt サーバーの SHOW DATABASES に表示されるはずです。
  • データベースは存在するが表示されない? ユーザーアカウントにすべてのデータベースを参照する権限がない可能性があります。
  • 新規サーバーですか? beads を初期化せずに Dolt を起動した場合、beads データベースはまだ存在しません。プロジェクトディレクトリで bd init を実行してから、検出を再試行してください。