ドメインとHTTPS
本番環境では、basedbはHTTPSで提供する必要があります。セッションCookieはSecureで__Host-プレフィックスが付いており、ブラウザーがHTTPで受け付けるのはlocalhostの場合だけだからです。
イメージはすでに、すべてを1つのアドレスで提供しています。インターフェース、/apiの下のAPI、/mcpの下のMCPサーバーです。あとはHTTPSプロキシの背後に置くだけです。docker-compose.ymlにはCaddyが付属しており、Let’s Encryptの証明書を自動で取得・更新します。
セットアップ
Section titled “セットアップ”-
ドメインのDNSをサーバーに向け、ポート80と443を開放します。
-
.envで次のように設定します:Fenêtre de terminal BASEDB_DOMAIN=basedb.example.comBASEDB_PUBLIC_URL=https://basedb.example.com -
httpsプロファイルで起動します:Fenêtre de terminal docker compose --profile https up -d
ポート3000は、引き続き127.0.0.1にのみ公開されます。外部からのトラフィックは、すべてCaddyを経由します。
これらの変数が必要な理由
Section titled “これらの変数が必要な理由”BASEDB_DOMAIN:Caddyが証明書を要求するドメイン。BASEDB_PUBLIC_URL:OIDCログインのリダイレクト先アドレス。IDプロバイダーに登録したものと、1文字ずつ比較されます。- Caddyは訪問者の実際のアドレスから
X-Forwarded-Forを設定し、basedbはそれがプライベートネットワークから来た場合にこれを採用します。これにより、APIのレート制限(ログイン、共有フォーム)が訪問者ごとにカウントされます。
他のプロキシ
Section titled “他のプロキシ”Nginx、Traefik、ロードバランサーも使えます。ドメインのすべてのトラフィックをコンテナのポート3000に送り、レスポンスのバッファリングを無効にしてください(MCPサーバーとリアルタイム機能は、レスポンスを逐次ストリーミングします)。また、プロキシがX-Forwarded-Forに追記するのではなく、置き換えるようにしてください。
basedbは、AIネイティブなソフトウェアスタジオEodiaが開発するフリーソフトウェアです。