redis from 3. Deploy MongoDB and Redis; see Redis for the Toolkit.
Password authentication
1
Store the password
2
Start Redis with it
In Kubernetes replaces
20-redis.yaml, give the container the password and pass it to redis-server:20-redis.yaml (changes)
$(REDIS_PASS) with the value from the Secret. The readiness probe (tcpSocket) needs no change.3
Apply and restart
Stop Ayakaleaf Pro first, so that no edit is lost between the two restarts:
OVERLEAF_REDIS_HOST (and REDIS_HOST) in the ConfigMap to its address, the password as above, and OVERLEAF_REDIS_TLS: "true" if it requires TLS.
AOF persistence
The installation already starts Redis with--appendonly yes, the counterpart of the Toolkit’s REDIS_AOF_PERSISTENCE=true, and keeps its data on the volume data-redis-0. To switch an existing Redis without AOF, follow the steps on the Toolkit page with kubectl -n overleaf exec -it redis-0 -- redis-cli instead of docker exec, then add --appendonly yes to the args.
Several replicas
All replicas must use the same Redis: it holds the sessions, the edits not yet in MongoDB and the locks that keep two replicas from processing the same project at once.Tested on Kubernetes
On Kubernetes 1.37 with one replica, Redis started with--requirepass $(REDIS_PASS) from the Secret redis-auth as above refused redis-cli without the password (NOAUTH), and with OVERLEAF_REDIS_PASS and REDIS_PASSWORD in overleaf-secrets our end-to-end tests passed for the launchpad (13 cases) and for editing with track changes, comments and anonymous sharing (22 cases), which go through web, real-time, document-updater and project-history; no service logged a Redis authentication error. All the other Kubernetes tests in these pages ran against the Redis StatefulSet from the installation, with AOF persistence and no password.
