40-overleaf.yaml
/status answers; then open OVERLEAF_SITE_URL.
Why the manifest looks like this
- Data volume. Everything under
/var/lib/overleaf(project files, history, uploads) lives on the PVC. The data stays on one node with node-local storage such as local-path; with network block storage the pod can move between nodes. - Compile volumes and the Docker socket. Ayakaleaf Pro asks the node’s Docker to start a TeX Live container and passes it the project’s compile directory by its path on the node. These directories are therefore
hostPathvolumes, and their paths are repeated inSANDBOXED_COMPILES_HOST_DIR_*. Their content is scratch data and needs no backup. enableServiceLinks: false. Kubernetes adds Docker-style variables for every Service of the namespace to each pod: the ServiceredisbecomesREDIS_PORT=tcp://10.x.x.x:6379, the Servicegit-bridgeGIT_BRIDGE_PORT=tcp://.... Some Overleaf services read variables with these names. In this pod the settings fromOVERLEAF_REDIS_*and the ConfigMap win, but git-bridge takesGIT_BRIDGE_PORTas its port and stops (see Git integration). Turning the links off keeps the environment to what you set.Recreate. Two pods must never use the same data volume or run migrations at the same time.- Exposing it. The NodePort Service answers on port
30080of every node. In production put your ingress controller or load balancer in front and terminate TLS there; it must allow WebSockets, request timeouts of 10 minutes (long compiles) and uploads of 50 MB, and passX-Forwarded-ForandX-Forwarded-Proto.

