Skip to main content
Les fichiers des projets et leur historique sont stockés par le service history-v1, les fichiers des modèles par le service filestore, tous deux dans chaque pod Ayakaleaf Pro. Par défaut, ils écrivent sur le volume de données ; avec S3, ils écrivent dans des buckets. Les buckets et autorisations nécessaires sont décrits dans S3.
Choisissez S3 avant que les utilisateurs ne créent des projets. Une instance qui conserve déjà des fichiers sur son volume doit d’abord effectuer la migration vers S3.

Configuration

1

Buckets et clés

Créez les trois buckets overleaf-template-files, overleaf-project-blobs et overleaf-chunks ainsi que les deux utilisateurs restreints avec votre service S3, comme décrit dans Configuration de S3, ou exécutez Garage dans le cluster comme indiqué ci-dessous. Placez les quatre clés dans un Secret :
2

ConfigMap

30-config.yaml (additions)
3

Ajouter le Secret au pod et redémarrer

Dans le Deployment (ou le StatefulSet), ajoutez le Secret à côté des autres :

Garage dans le cluster

En l’absence de service S3, Garage est un petit serveur S3 qui s’exécute dans le cluster. La configuration de Mise à l’échelle horizontale a été testée avec lui. Les commandes ci-dessous génèrent elles-mêmes les clés et créent le Secret overleaf-s3 ; utilisez-les donc à la place de la commande de création du Secret de l’étape 1.
MinIO, utilisé dans l’exemple d’Overleaf, ne publie plus d’images de conteneur : minio/minio a disparu de Docker Hub et de quay.io.
50-garage.yaml
Générez les secrets, démarrez Garage, puis créez la disposition (layout), les buckets et les deux clés restreintes. Les identifiants de clé Garage se composent de GK suivi de 24 caractères hexadécimaux, les secrets de 64 caractères hexadécimaux :
Les autorisations correspondent aux politiques décrites dans S3. Garage vérifie la région : elle vaut ici garage, et OVERLEAF_*_S3_REGION doit avoir la même valeur. Avec Garage, définissez dans le ConfigMap le point de terminaison, PATH_STYLE: "true" et la région garage pour les deux services, comme dans le fichier 60-config.yaml de Mise à l’échelle horizontale.

Plusieurs répliques

Toutes les répliques doivent utiliser les mêmes buckets et les mêmes clés. Sauvegardez les buckets avec les outils de votre fournisseur S3 ; les disques propres aux répliques ne contiennent alors aucune donnée à sauvegarder.

Testé sur Kubernetes

Sur Kubernetes 1.37 avec trois répliques et Garage comme ci-dessus, tous les tests de bout en bout de ces pages qui créent des projets, téléversent des fichiers, utilisent l’historique ou publient des modèles ont réussi ; ensuite, les buckets overleaf-project-blobs, overleaf-chunks et overleaf-template-files contenaient les objets, tandis que le répertoire /var/lib/overleaf/data/history propre à chaque réplique restait vide.
Dernière modification le 2 novembre 2026