ghcr.io để pull các image ayakaleaf-pro và TeX Live cần thiết. Đây không phải là vấn đề, vì Docker cung cấp công cụ để xuất và nhập image, giúp bạn triển khai ngoại tuyến/air-gapped.
Nói một cách tổng quát, bạn sẽ tải các image cần thiết trên một thiết bị có kết nối internet, xuất chúng sang một thiết bị di động (hoặc chuyển chúng bằng SCP/Rsync), rồi nhập chúng trên máy chủ air-gapped.
Để làm điều này, bạn cần hoàn thành các bước sau:
- Pull tất cả các image cần thiết (
overleaf-pro,git-bridge,mongo,redis+ mọi TeX Live image cần thiết để sử dụng với Sandboxed Compiles) trên một máy có kết nối internetdocker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0docker pull ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0(tag phải giống vớioverleaf-pro)docker pull mongo:8.0(Vui lòng đổi sang phiên bản thực tế)docker pull redis:7.4(Vui lòng đổi sang phiên bản thực tế)docker pull ghcr.io/ayaka-notes/texlive-full:2024.1(Vui lòng đổi sang phiên bản thực tế)
- Với mỗi image đã pull, bạn cần xuất chúng ra tệp .tar. Ví dụ:
docker save ghcr.io/ayaka-notes/overleaf-pro:6.3.0 > overleaf-pro:6.3.0.tar - Sử dụng phương thức bạn ưa thích, chuyển các tệp
.tartừ máy có kết nối internet sang máy chủ ngoại tuyến/air-gapped - Với mỗi tệp .tar, dùng lệnh
docker loadđể nạp image từ tệp .tar. Ví dụ:docker load < overleaf-pro:6.3.0.tar - Cuối cùng, chạy lệnh
docker imagesđể xem/xác nhận rằng việc nạp image đã thành công và các image đã sẵn sàng
Theo mặc định, khi bạn chạy lệnh
bin/up, Toolkit sẽ cố gắng tự động pull từng TeX Live image được đặt qua ALL_TEX_LIVE_DOCKER_IMAGES trong config/variables.env. Vì hệ thống của bạn là air-gapped nên việc này sẽ thất bại — bạn có thể ngăn điều này bằng cách dùng SIBLING_CONTAINERS_PULL=false trong config/overleaf.rc.
