ghcr.io möglicherweise nicht immer erreichbar, um die benötigten ayakaleaf-pro- und TeX Live-Images herunterzuladen. Das ist kein Problem, denn Docker bietet Werkzeuge zum Exportieren und Importieren von Images, die Ihnen bei einer Offline-/Air-Gapped-Bereitstellung helfen.
Grob gesagt laden Sie die benötigten Images auf ein Gerät mit Internetverbindung herunter, exportieren sie auf ein tragbares Speichermedium (oder übertragen sie per SCP/Rsync) und importieren sie auf dem Air-Gapped-Server.
Dazu müssen Sie die folgenden Schritte ausführen:
- Laden Sie alle benötigten Images (
overleaf-pro,git-bridge,mongo,redissowie alle erforderlichen TeX Live-Images für die Verwendung mit Sandboxed Compiles) auf einem Rechner mit Internetverbindung herunterdocker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0docker pull ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0(der Tag muss mit dem vonoverleaf-proübereinstimmen)docker pull mongo:8.0(bitte durch die tatsächliche Version ersetzen)docker pull redis:7.4(bitte durch die tatsächliche Version ersetzen)docker pull ghcr.io/ayaka-notes/texlive-full:2024.1(bitte durch die tatsächliche Version ersetzen)
- Exportieren Sie anschließend jedes der heruntergeladenen Images in eine .tar-Datei. Zum Beispiel:
docker save ghcr.io/ayaka-notes/overleaf-pro:6.3.0 > overleaf-pro:6.3.0.tar - Übertragen Sie die
.tar-Dateien mit einer Methode Ihrer Wahl vom Rechner mit Internetverbindung auf den Offline-/Air-Gapped-Server - Laden Sie für jede .tar-Datei das Image mit dem Befehl
docker loadaus der Datei. Zum Beispiel:docker load < overleaf-pro:6.3.0.tar - Führen Sie abschließend den Befehl
docker imagesaus, um zu prüfen und zu bestätigen, dass die Images erfolgreich geladen wurden und verfügbar sind
Standardmäßig versucht das Toolkit beim Ausführen des Befehls
bin/up, jedes der über ALL_TEX_LIVE_DOCKER_IMAGES in config/variables.env festgelegten TeX Live-Images automatisch herunterzuladen. Da Ihre Bereitstellung air-gapped ist, schlägt dies fehl – Sie können das verhindern, indem Sie SIBLING_CONTAINERS_PULL=false in config/overleaf.rc setzen.
