Sécurité renforcée
Les compilations isolées sont l’approche recommandée pour Ayakaleaf Pro, car de nombreux documents LaTeX nécessitent ou ont la possibilité d’exécuter des commandes shell arbitraires lors de la compilation du PDF. Avec les compilations isolées, chaque compilation s’exécute dans un conteneur Docker distinct aux capacités limitées, qui n’est partagé avec aucun autre utilisateur ni projet et n’a pas accès aux ressources extérieures telles que le réseau de l’hôte.Gestion simplifiée des packages
Pour éviter d’installer manuellement des packages, nous recommandons d’activer les compilations isolées. Il s’agit d’un paramètre configurable de Server Pro qui offre à vos utilisateurs le même environnement TeX Live que sur overleaf.com, mais au sein de votre propre installation sur site. Les images TeX Live utilisées par les compilations isolées contiennent les packages et polices les plus populaires, testés avec les modèles de notre galerie, ce qui garantit une compatibilité maximale avec les projets sur site. L’activation des compilations isolées vous permet de configurer les versions de TeX Live parmi lesquelles les utilisateurs peuvent choisir dans leur projet, ainsi que de définir une version d’image TeX Live par défaut pour les nouveaux projets.Si vous essayez d’exécuter Ayakaleaf Pro sans compilations isolées, votre instance utilisera par défaut une version de TeX Live avec le schéma basic pour les compilations. Cette version de base est légère et ne contient qu’un sous-ensemble très limité de packages LaTeX, ce qui entraînera très probablement des erreurs de packages manquants pour vos utilisateurs, en particulier s’ils essaient d’utiliser des modèles prédéfinis.
Les compilations isolées nécessitent que le conteneur
sharelatex ait accès au socket Docker de la machine hôte (via un bind mount) afin de pouvoir gérer ces conteneurs de compilation frères.Fonctionnement
Lorsque les compilations isolées sont activées, le socket Docker de la machine hôte est monté dans le conteneursharelatex, afin que le service de compilation du conteneur puisse créer de nouveaux conteneurs Docker sur l’hôte. Ensuite, pour chaque exécution du compilateur dans chaque projet, le service de compilation LaTeX (CLSI) procède comme suit :
- Il écrit les fichiers du projet à un emplacement situé dans
OVERLEAF_DATA_PATH. - Il utilise le socket Docker monté pour créer un nouveau conteneur
texlivepour cette compilation. - Le conteneur
texlivelit les données du projet depuis l’emplacement situé sousOVERLEAF_DATA_PATH. - Le projet est compilé à l’intérieur du conteneur
texlive.
Activer les compilations isolées
Pour les utilisateurs du Toolkit
Pour activer les compilations isolées (également appelées conteneurs frères, ou « sibling containers »), définissez les options de configuration suivantes dansoverleaf-toolkit/config/overleaf.rc :
config/overleaf.rc
Pour les utilisateurs de Docker Compose
À partir d’Overleaf CE/Server Pro
5.0.3, les variables d’environnement ont été renommées de SHARELATEX_* en OVERLEAF_*.4.x (ou antérieure), assurez-vous que les variables portent le préfixe approprié (par exemple SHARELATEX_MONGO_URL au lieu de OVERLEAF_MONGO_URL).
Configurer l’image TeX Live
Pour les utilisateurs en Chine continentale, vous pouvez remplacer
ghcr.io par ghcr.nju.edu.cn pour accélérer le téléchargement. Mais N’UTILISEZ PAS ghcr.nju.edu.cn directement dans les paramètres d’environnement de votre Toolkit. Vous devez conserver ghcr.io comme unique choix.TEX_LIVE_DOCKER_IMAGE(obligatoire) : l’image TeX Live par défaut utilisée pour compiler les nouveaux projets. Cette image doit figurer dansALL_TEX_LIVE_DOCKER_IMAGES.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES(obligatoire) : une liste, séparée par des virgules, de noms conviviaux pour les images, utilisés pour les options de l’interface.ALL_TEX_LIVE_DOCKER_IMAGES(obligatoire) : une liste, séparée par des virgules, des images TeX Live à utiliser. Si l’Overleaf Toolkit est utilisé pour le déploiement, ces images seront téléchargées ou mises à jour. Pour ignorer le téléchargement, définissezSIBLING_CONTAINERS_PULL=falsedansconfig/overleaf.rc.
bin/up, le Toolkit récupère automatiquement toutes les images listées dans ALL_TEX_LIVE_DOCKER_IMAGES.
Voici un exemple dans lequel TeX Live 2026 est utilisé par défaut pour les nouveaux projets, tandis que 2025 reste disponible pour les anciens projets.
- Installation minimale
- Installation complète
La configuration suivante installe toutes les images Docker TeX Live complètes de 2025 à 2026. Nous recommandons de disposer d’au moins 64 Go d’espace de stockage libre avant d’utiliser cette configuration.
config/variables.env
Il est fortement recommandé de configurer au moins 2 images texlive-full. Pour en connaître la raison, consultez #known-issues
Images TeX Live disponibles
Voici une série d’images TeX Live spécialement optimisées pour Overleaf, qui peuvent être ajoutées àTEX_LIVE_DOCKER_IMAGE et ALL_TEX_LIVE_DOCKER_IMAGES :
ghcr.io/ayaka-notes/texlive-full:2026.1(également disponible sous le taglatest)ghcr.io/ayaka-notes/texlive-full:2025.1ghcr.io/ayaka-notes/texlive-full:2024.1ghcr.io/ayaka-notes/texlive-full:2023.1ghcr.io/ayaka-notes/texlive-full:2022.1ghcr.io/ayaka-notes/texlive-full:2021.1ghcr.io/ayaka-notes/texlive-full:2020.1
Puis-je utiliser un autre registre d’images ?
Certains se demandent peut-être s’il est possible de remplacer ghcr.io par un autre site miroir, ou d’utiliser une autre image texlive provenant de Docker Hub.
Non, nous ne le recommandons pas, car la configuration est relativement complexe. Si vous téléchargez depuis un site miroir, vous pouvez renommer votre image en ghcr.io/ayaka-notes/texlive-full.
Cependant, si vous souhaitez vraiment utiliser votre propre registre d’images, ajoutez :
config/variables.env
your-repo, par exemple :
hub.your.com/your-repo/texlive-full:2025.1hub.your.com/your-repo/texlive-full:2024.1
sandboxed-compiles/index.mjs
Synchronisation automatique des images TeX Live
Pour éviter de devoir mettre à jour manuellement votre instance avecbin/up à chaque fois, vous pouvez automatiser les mises à jour de vos images TeX Live. Consultez updating-tex-live-full-images-automatically.md.
Problèmes connus
Voici un cas réel rencontré par la communauté Overleaf :AvecEn raison de certaines limitations techniques, si vous ne configurez qu’une seule image Docker TeXLive, par exemple6.0.1-ext-v3.3, j’ai les paramètres suivants dansvariables.env:Cela fonctionne bien avectexlive/texlive:latest-full. Cependant, j’ai récupéré une autre image texlive,danteev/texlive:2025-10-15, et modifié ces deux variables avec le nom de la nouvelle image, mais cela ne fonctionne pas :Dans les journaux, je vois ceci :On dirait que les paramètres mis à jour dansvariables.envne sont pas pris en compte. La compilation essaie toujours d’utiliser l’imagetexlive/texlive:latest-full, et non la nouvelle image. J’ai essayé de redémarrer, de supprimer les conteneurs et de relancer, mais le problème persiste. Une solution ?
texlive-fullA:latest
texlive-fullB:latest, vous constaterez que vos utilisateurs ne parviennent plus à compiler aucun projet.

