コンテンツにスキップ

Docker Compose

basedbは1つのイメージeodia/basedbとして、amd64とarm64向けに公開されています。リポジトリのdocker-compose.ymlが、これをPostgreSQLと組み合わせます。設定はすべて.envファイルで行います(環境変数を参照)。

イメージにはbasedbの3つのプロセスが含まれ、単一のポート3000で提供されます:

パスプロセス
/api/*、/auth/*、/healthzREST API、ログイン、バックグラウンド処理
/mcpエージェント向けのMCPサーバー
それ以外すべて(/、/f/…、/v/…)インターフェース

起動時には、APIが最初に動きます。空のデータベースではカタログを適用して最初の管理者を作成し、2回目以降の起動ではどちらも何もしません。MCPサーバーは、APIが応答し次第起動します。いずれかのプロセスが停止するとコンテナ全体が停止し、再起動ポリシーによってコンテナ全体が再起動されます。

イメージはNode 22上でnodeユーザーとして動作し、ヘルスチェック(/healthz)と、ファイルフィールドと画像フィールドのファイル用のボリューム/dataを宣言しています。

タグ内容
latest最新の公開バージョン
0.7最新の0.7.x
0.7.1このバージョンそのもの
サービスイメージポート(127.0.0.1上)ボリューム
dbpostgres:16-alpine5432db-data
basedbeodia/basedb3000files → /data
proxy(オプション)caddy:2-alpine80、443caddy-data、caddy-config
Fenêtre de terminal
docker compose up -d # イメージをダウンロードして起動
docker compose logs -f basedb # basedbのログを追う(初回起動時の管理者パスワード)
docker compose ps # サービスの状態とヘルス
docker compose restart basedb # basedbを再起動
docker compose down # 停止(ボリュームは残ります)

リポジトリをクローンした環境では、docker compose up -d --buildで、イメージをダウンロードする代わりにソースコードからビルドします。

ゲートウェイの配下、パスの下で

Section titled “ゲートウェイの配下、パスの下で”

basedbをパスの下で公開する場合——ドメインのルートではなくhttps://passerelle.example.com/basedb/のような場所に——、そのパスを指定します:

Fenêtre de terminal
BASEDB_PUBLIC_URL=https://passerelle.example.com/basedb
# 公開アドレスがない場合は:
BASEDB_BASE_PATH=/basedb

これにより/basedbの下にすべてが置かれます:インターフェース、/basedb/api、/basedb/mcp、共有リンク、そしてメールのリンクです。ゲートウェイは、リクエストをそのまま転送してパスを残すことも、取り除くこともできます:basedbはどちらにも対応します。BASEDB_BASE_PATH=/はルートを強制します。

イメージはどのアドレスでも同じです:パスはコンテナの起動時にインターフェースへ書き込まれ、パスを変更するには再起動だけで済みます。

Fenêtre de terminal
BASEDB_PORT=3100
POSTGRES_PORT=5433

DATABASE_URLを設定すると、basedbはdbコンテナの代わりにそのデータベースに接続します(dbコンテナは使われないまま起動します。必要ならdocker-compose.override.ymlファイルで取り除いてください)。PostgreSQL 16以上、データベースの所有者ロール、そして利用可能なpg_trgmとunaccent拡張が必要です。この場合は、イメージだけで十分です。インストールをご覧ください。

basedbは、AIネイティブなソフトウェアスタジオEodiaが開発するフリーソフトウェアです。