- Add profiles: ["glitchtip"] to glitchtip-web and glitchtip-worker so
plain `compose up -d` does not start them before secrets/DB are ready
- Fix SQL injection vector: pass password via psql -v variable + format(%L)
instead of bare shell interpolation in heredoc
- glitchtip-web mem_limit: 256m -> 512m (upstream minimum for Django+gunicorn)
- glitchtip-worker mem_limit: 256m -> 384m (handles CELERY_WORKER_AUTOSCALE)
- Move CELERY_WORKER_AUTOSCALE to worker only (no-op on gunicorn web service)
- Pin image glitchtip/glitchtip:latest -> 6.1.6
- Add healthcheck to glitchtip-web (wget /api/0/)
- bootstrap: use --profile glitchtip for pull/up; add COMPOSE_PROFILES note
- bootstrap: use wget (consistent with compose healthcheck) in wait loop
Adds glitchtip-web + glitchtip-worker to docker-compose.prod.yml using
the shared postgres/redis services. Caddy proxies errors.gendsgn.ru to
glitchtip-web:8080 with auto-TLS. Bootstrap script handles DB creation
and first-run setup idempotently.
Env contract: GLITCHTIP_DB_PASS, GLITCHTIP_SECRET in .env;
GLITCHTIP_DSN and NEXT_PUBLIC_GLITCHTIP_DSN populated after UI setup.