コンテンツにスキップ

ドメインとHTTPS

本番環境では、basedbはHTTPSで提供する必要があります。セッションCookieはSecureで__Host-プレフィックスが付いており、ブラウザーがHTTPで受け付けるのはlocalhostの場合だけだからです。

イメージはすでに、すべてを1つのアドレスで提供しています。インターフェース、/apiの下のAPI、/mcpの下のMCPサーバーです。あとはHTTPSプロキシの背後に置くだけです。docker-compose.ymlにはCaddyが付属しており、Let’s Encryptの証明書を自動で取得・更新します。

  1. ドメインのDNSをサーバーに向け、ポート80と443を開放します。

  2. .envで次のように設定します:

    Fenêtre de terminal
    BASEDB_DOMAIN=basedb.example.com
    BASEDB_PUBLIC_URL=https://basedb.example.com
  3. httpsプロファイルで起動します:

    Fenêtre de terminal
    docker compose --profile https up -d

ポート3000は、引き続き127.0.0.1にのみ公開されます。外部からのトラフィックは、すべてCaddyを経由します。

  • BASEDB_DOMAIN:Caddyが証明書を要求するドメイン。
  • BASEDB_PUBLIC_URL:OIDCログインのリダイレクト先アドレス。IDプロバイダーに登録したものと、1文字ずつ比較されます。
  • Caddyは訪問者の実際のアドレスからX-Forwarded-Forを設定し、basedbはそれがプライベートネットワークから来た場合にこれを採用します。これにより、APIのレート制限(ログイン、共有フォーム)が訪問者ごとにカウントされます。

Nginx、Traefik、ロードバランサーも使えます。ドメインのすべてのトラフィックをコンテナのポート3000に送り、レスポンスのバッファリングを無効にしてください(MCPサーバーとリアルタイム機能は、レスポンスを逐次ストリーミングします)。また、プロキシがX-Forwarded-Forに追記するのではなく、置き換えるようにしてください。

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