ayakaleaf-pro イメージや TeX Live イメージを pull するために ghcr.io レジストリにアクセスできないことがあります。しかし問題はありません。Docker にはイメージのエクスポートとインポートのためのツールがあり、オフライン/エアギャップ環境でのデプロイに役立ちます。
大まかな流れとしては、インターネットに接続できるデバイスで必要なイメージをダウンロードし、それをポータブルデバイスにエクスポート(または SCP/Rsync で転送)して、エアギャップ環境のサーバーにインポートします。
そのためには、次の手順を実行する必要があります。
- インターネットに接続できるマシンで、必要なすべてのイメージ(
overleaf-pro、git-bridge、mongo、redis、および Sandboxed Compiles で使用する必要な TeX Live イメージ)を pull しますdocker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0docker pull ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0(タグはoverleaf-proと同じである必要があります)docker pull mongo:8.0(実際のバージョンに変更してください)docker pull redis:7.4(実際のバージョンに変更してください)docker pull ghcr.io/ayaka-notes/texlive-full:2024.1(実際のバージョンに変更してください)
- 次に、pull した各イメージを .tar ファイルにエクスポートします。例:
docker save ghcr.io/ayaka-notes/overleaf-pro:6.3.0 > overleaf-pro:6.3.0.tar - 任意の方法で、インターネットに接続されたマシンからオフライン/エアギャップ環境のサーバーへ
.tarファイルを転送します - 各 .tar ファイルについて、
docker loadコマンドを使って .tar ファイルからイメージを読み込みます。例:docker load < overleaf-pro:6.3.0.tar - 最後に、
docker imagesコマンドを実行して、イメージが正常に読み込まれ、利用可能になっていることを確認します
デフォルトでは、
bin/up コマンドを実行すると、Toolkit は config/variables.env の ALL_TEX_LIVE_DOCKER_IMAGES で設定された各 TeX Live イメージを自動的に pull しようとします。エアギャップ環境ではこれは失敗します。config/overleaf.rc で SIBLING_CONTAINERS_PULL=false を設定すると、この動作を止められます。
