docs(env): document REDIS_URL — it now also gates cross-replica presence

REDIS_URL was read by the code but absent from .env.example. Beyond the socket.io
fan-out it now selects RedisPresenceService, so leaving it unset in a multi-replica
deploy silently degrades the notification presence gate to per-process.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 16:40:41 +05:30
parent c946f1e061
commit 2c61f49de1
+5
View File
@@ -7,6 +7,11 @@ JWT_SECRET="dev-only-change-me"
# Per-app HS256 secrets, JSON map keyed by appId (the `session` platform port)
APP_SECRETS={"portal-demo":"dev-secret"}
# Redis. Unset → single-instance mode: socket.io uses its in-memory adapter (realtime does NOT
# fan out across replicas) and presence is a per-process Map (so the "don't push a thread you're
# viewing" gate only sees sockets on the same replica). REQUIRED for any multi-replica deploy.
REDIS_URL="redis://localhost:6379"
# Full-text message search (Meilisearch). Unset MEILI_URL → search is disabled (no-op).
# MEILI_KEY must equal the meilisearch server's MEILI_MASTER_KEY (docker-compose default below).
MEILI_URL="http://localhost:7700"