Busabase

設定リファレンス

セルフホスト構成が読むすべての環境変数 — 何をするか、間違えるとどうなるか、変更に再起動が要るか。

オールインワンイメージは設定を自動生成するため、以下は一切不要です。ここから先は .env を自分で管理する Compose デプロイ向けです。

必須

変数既定値再起動役割
BUSABASE_IMAGEbusabase/busabase-premium:latest使用するイメージ。試用は公開の :trial、契約後はプライベートレジストリへ。
APP_URLユーザーが実際に入力するアドレス(スキームとポートを含む)。
APP_PORT3000公開するホスト側ポート。
POSTGRES_USERbusabaseデータベースユーザー。
POSTGRES_PASSWORDデータベースパスワード。考えるのではなく生成してください。
POSTGRES_DBbusabaseデータベース名。
S3_ACCESS_KEYbusabaseオブジェクトストレージのキー。seaweed-s3.json と一致必須。
S3_SECRET_KEYオブジェクトストレージのシークレット。seaweed-s3.json と一致必須。
S3_BUCKETbusabaseバケット名。自動作成されます。
BETTER_AUTH_SECRETセッション cookie の署名鍵。漏れると誰でもログイン状態を偽造できます。

最も間違えやすいのが APP_URL です。セッション cookie はこれを基準に発行されるため、ブラウザに表示されているものと食い違う(httphttps、ポートの欠落、ホスト名ではなく IP)と、ログインは成功したように見えてすぐログイン画面に戻されます。サーバー側では何も失敗していないので、エラーメッセージも出ません。

任意

変数既定値再起動役割
IMAGE_REGISTRYdocker.ioPostgres と SeaweedFS を社内ミラーから取得する。
SYSTEM_ADMIN_EMAILadmin@example.comどのアカウントにシステム管理コンソールを与えるか。
SEAWEEDFS_VOLUME_LIMIT_MB1024SeaweedFS が新しいボリュームファイルに切り替える閾値。添付が多いなら上げます。

こちらで設定済みのもの

以下は Compose ファイルまたはイメージが注入します。通常は設定不要ですが、存在を知っておくと不可解に見える挙動の説明がつきます。

変数理由
BUSABASE_EDITIONself-hosted課金・waitlist・公開マーケティングページを取り除きます。起動時に一度だけ読まれ、管理画面から切り替えられるフラグには意図的にしていません(戻せば課金導線が再露出するため)。
PG_DATABASE_URLPOSTGRES_* から組み立て外部データベースを使うならここを変更。
STORAGE_URLS3_* から組み立て変数群ではなく URL 1 本。minio:// は「S3、path-style、TLS なし」の意味で、ベンダー名ではありません。
REDIS_URLlmdb:///data/cache組み込み LMDB キャッシュ + プロセス内 pub/sub。単一レプリカの規模で別途 Redis を立てる利点はなく、Redis 7.4+ は RSALv2/SSPL でお客様に転嫁したくない再配布上の制約を伴います。

上記はすべて反映に再起動が必要です。実行時リロードはありません: 値は起動時に読まれるため、稼働中インスタンスの設定は .env だけから再現できます。

設定するものではなく生成されるもの

オールインワンイメージは初回起動時に Postgres のパスワード、オブジェクトストレージのキー、セッション署名鍵を自分で生成し、/data/.credentials(パーミッション 600)に書き出します。イメージには含まれないので、同じイメージを pull した 2 人がシークレットを共有することはありません。

そのファイルはバックアップしてください。唯一のコピーです。

On this page