Busabase

クイックスタート

1 コマンドで自社サーバーに Busabase を入れ、本当に動いていることを確認し、ライセンスを有効化する — インターネットに繋がらないネットワークでも同じ手順で。

これは busabase.com/self-hosted/install と同じ内容です。ここにも置いてあるのは、ドキュメントがイメージに同梱されているからです: busabase.com に到達できないネットワークでも、このページは開けます。

サーバーに必要なもの

CPU
2 vCPU
メモリ
2 GB
ディスク
10 GB
開放ポート
3000 + 8333/tcp

空のボリュームでのコールドスタート実測値: 24 秒で正常稼働、アイドル時 548 MiB、初回起動後の /data は 50 MB。公開ポートは 2 つ(アプリとオブジェクトストレージ)。ブラウザが添付ファイルをストレージから直接取得するため、到達可能である必要があります。Postgres はコンテナ内部のままです。

docker run -d --name busabase \
  -p 3000:3000 \
  -p 8333:8333 \
  -v busabase-data:/data \
  --restart unless-stopped \
  busabase/busabase-premium-allinone:trial

インストールできたか確認する

コンテナが起動しているだけで判断しないでください。サーバー自身に尋ねます — ログイン前でも応答します。

curl -s http://localhost:3000/api/health

正常なサーバーはこう返します:

{"status":"ok","service":"busabase","version":"0.10.0", ...}

ライセンスを有効化する

サーバーを開き、管理者としてログインし「システム管理 → ライセンス」へ進み、アクティベーションコードを貼り付けます。検証はそのマシン上で完結し、インターネット接続は不要です。コードは Busabase Cloud アカウントの「設定 → セルフホストライセンス」から発行します。

インターネットに繋がらないネットワークへのインストール

イメージをファイルとして持ち込みます。tar は約 489 MB です。到着後に必ずハッシュを検証してください — 転送が途中で切れると、ずっと後になって原因の分かりにくい実行時エラーとして現れます。

# On a machine with internet access
docker pull busabase/busabase-premium-allinone:latest
docker save busabase/busabase-premium-allinone:latest -o busabase-premium-allinone.tar
sha256sum busabase-premium-allinone.tar > busabase-premium-allinone.tar.sha256

# Move both files to the target host, then
sha256sum -c busabase-premium-allinone.tar.sha256
docker load -i busabase-premium-allinone.tar

起動しないとき

診断バンドルを収集して support@busabase.com までお送りください。ログ・ヘルスチェック出力・イメージ情報が含まれ、認証情報は含まれません: 生成されたシークレットは /data/.credentials に書かれ、ログには一切出力されません。

docker logs --tail 500 busabase > sb-logs.txt 2>&1
curl -s http://localhost:3000/api/health > sb-health.json
docker inspect busabase --format '{{.Config.Image}} {{.State.Status}}' > sb-meta.txt
tar czf busabase-support.tar.gz sb-logs.txt sb-health.json sb-meta.txt

初回起動時に起きること

コンテナは自分で認証情報一式 — Postgres のパスワード、オブジェクトストレージのキー、セッション署名鍵 — を生成し、/data/.credentials(パーミッション 600)に書き出して、以降の起動では同じものを再利用します。イメージには何も焼き込まれていないので、同じイメージを pull した 2 人がシークレットを共有することはありません。

その後マイグレーションを実行してアプリを起動します。空のボリュームなら全体で約 24 秒、そのほとんどは Postgres の初回初期化です。以降の再起動ではこの両方(マイグレーションと初期化)がスキップされるため、はるかに速くなります。

データと一緒に /data/.credentials もバックアップしてください。これがそのシークレットの唯一のコピーです — 作り直すと、自分でも開けないデータベースが手元に残ります。

次に

On this page