インターネットなしでのインストール
イメージをファイルとして持ち込み、無傷で届いたことを検証し、一度もオンラインになったことのないマシンでライセンスを有効化する。
Busabase には、外部のサーバーへ問い合わせる処理はありません。ライセンスはビルドに埋め込まれた公開鍵でそのマシン上で検証されるため、一度もインターネットを見たことのないインスタンスも、そうでないものと全く同じように動きます。
必要なのは、イメージを向こう側へ運ぶ手段だけです。
イメージを運ぶ
インターネットに繋がるマシンで:
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.sha256tar は約 489 MB です。両方のファイルを対象ホストへ運び、次を実行します:
sha256sum -c busabase-premium-allinone.tar.sha256
docker load -i busabase-premium-allinone.tarハッシュを必ず検証してください。「見た目は問題なくコピーできた」という理由で飛ばさないでください。転送が途中で切れても docker load では失敗せず、ずっと後になって「起動はするが挙動がおかしいコンテナ」として現れます。そして半日、ファイルコピーではなく Busabase をデバッグすることになります。
tar を圧縮する意味はありません。中のレイヤーはすでに圧縮済みで、gzip をかけても 489 MB が 487 MB になるだけです。
依存イメージもミラーする
Compose デプロイは Postgres と SeaweedFS も pull します。社内レジストリにミラーして IMAGE_REGISTRY を設定するか、同じ方法で運んでください:
docker save postgres:16 chrislusf/seaweedfs:3.80 -o busabase-deps.tarオールインワンイメージにはこの依存がありません — Postgres も SeaweedFS も中に入っています。完全に隔離されたネットワークでは、これは「試用期間を過ぎてもオールインワンを使い続ける」実際の理由になります。
オフラインで有効化する
有効化はリクエストではなく貼り付けです。インスタンスを開き、システム管理 → ライセンスで発行されたコードを貼り付けます。検証はビルドに埋め込まれた公開鍵に対してそのマシン上で完結し、通信は一切発生しません。
コードの中身と期限切れ時の挙動はライセンスを参照してください。