Skip to main content
40-overleaf.yaml
Il primo avvio esegue le migrazioni del database e richiede un paio di minuti. Il pod è pronto quando /status risponde; a quel punto apri OVERLEAF_SITE_URL.

Perché il manifest è fatto così

  • Volume dei dati. Tutto ciò che si trova in /var/lib/overleaf (file dei progetti, cronologia, upload) risiede sul PVC. Con uno storage locale al nodo come local-path i dati restano su un unico nodo; con uno storage a blocchi di rete il pod può spostarsi tra i nodi.
  • Volumi di compilazione e socket Docker. Ayakaleaf Pro chiede al Docker del nodo di avviare un container TeX Live e gli passa la directory di compilazione del progetto tramite il suo percorso sul nodo. Queste directory sono quindi volumi hostPath, e i loro percorsi sono ripetuti in SANDBOXED_COMPILES_HOST_DIR_*. Il loro contenuto è costituito da dati temporanei e non richiede backup.
  • enableServiceLinks: false. Kubernetes aggiunge a ogni pod variabili in stile Docker per ogni Service del namespace: il Service redis diventa REDIS_PORT=tcp://10.x.x.x:6379, il Service git-bridge GIT_BRIDGE_PORT=tcp://.... Alcuni servizi di Overleaf leggono variabili con questi nomi. In questo pod prevalgono le impostazioni di OVERLEAF_REDIS_* e della ConfigMap, ma git-bridge usa GIT_BRIDGE_PORT come propria porta e si arresta (vedi Integrazione Git). Disattivare i link limita l’ambiente a ciò che imposti tu.
  • Recreate. Due pod non devono mai usare lo stesso volume dei dati né eseguire migrazioni contemporaneamente.
  • Esposizione. Il Service NodePort risponde sulla porta 30080 di ogni nodo. In produzione metti davanti il tuo ingress controller o load balancer e termina lì TLS; deve consentire i WebSocket, timeout delle richieste di 10 minuti (compilazioni lunghe) e upload di 50 MB, e inoltrare X-Forwarded-For e X-Forwarded-Proto.
Ultima modifica il 2 novembre 2026