Skip to content

Docker とストレージの設定

SQLite(単一インスタンス)

SQLite は単一インスタンス向けの推奨バックエンドです。以下のコマンドは volume なしで起動できます。

bash
docker run -d --name codebuddy2api --restart unless-stopped -p 8001:8001 \
  -e CODEBUDDY_STORAGE_BACKEND=sqlite \
  -e CODEBUDDY_STORAGE_ENCRYPTION_KEY='replace-with-a-long-random-secret' \
  -e CODEBUDDY_STORAGE_IMPORT_LEGACY_FILES=false \
  ghcr.io/orangeboychen/codebuddy2api:latest

データベースの既定パスは /app/.codebuddy_data/storage.sqlite です。コンテナの削除や再作成後もデータを残す場合は -v codebuddy2api-data:/app/.codebuddy_data を追加します。

起動後に http://127.0.0.1:8001/dashboard を開きます。

PostgreSQL(複数インスタンス)

複数インスタンスでは PostgreSQL を使用します。

bash
-e CODEBUDDY_STORAGE_BACKEND=pg \
-e DATABASE_URL='postgres://user:password@db:5432/codebuddy2api' \
-e CODEBUDDY_STORAGE_ENCRYPTION_KEY='replace-with-a-long-random-secret'

旧ファイルからの移行

.codebuddy_creds や旧 JSON 設定がある場合、データベースバックエンドの初回起動時は CODEBUDDY_STORAGE_IMPORT_LEGACY_FILES=false を設定せず、旧ディレクトリを一時的にマウントします。

bash
-v "$(pwd)/.codebuddy_creds:/app/.codebuddy_creds"

移行完了後に CODEBUDDY_STORAGE_IMPORT_LEGACY_FILES=false を設定し、旧ディレクトリのマウントを削除します。

環境変数

変数用途例 / 既定値
CODEBUDDY_STORAGE_BACKENDストレージバックエンドfilesqlitepg
CODEBUDDY_STORAGE_SQLITE_PATHSQLite ファイルパス.codebuddy_data/storage.sqlite
CODEBUDDY_STORAGE_ENCRYPTION_KEYDB 内の機密データを暗号化。DB バックエンドでは必須長いランダム文字列
CODEBUDDY_STORAGE_IMPORT_LEGACY_FILES旧ファイルを取り込むか新規構築では false
DATABASE_URLPostgreSQL 接続文字列postgres://user:password@db:5432/codebuddy2api
CODEBUDDY_API_ENDPOINT上流 CodeBuddy API URLhttps://copilot.tencent.com
CODEBUDDY_AUTH_MODE上流認証モードauto / token
CODEBUDDY_INTERNET_ENVIRONMENTネットワーク環境internal / ioa / public
CODEBUDDY_LOG_LEVELサーバーログレベルINFO
CODEBUDDY_ADMIN_PASSKEY_RP_ID管理者 Passkey の hostnameexample.com