diff --git a/docker-compose.observability.yml b/docker-compose.observability.yml index 3441fa23..406365a6 100644 --- a/docker-compose.observability.yml +++ b/docker-compose.observability.yml @@ -166,7 +166,75 @@ services: - obs-net # --- Error Tracking: GlitchTip --- - # glitchtip: (see future issue) + + obs-redis: + image: redis:7-alpine + container_name: obs-redis + restart: unless-stopped + volumes: + - glitchtip_data:/data + expose: + - "6379" + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + networks: + - obs-net + + obs-glitchtip: + image: glitchtip/glitchtip:v4 + container_name: obs-glitchtip + restart: unless-stopped + depends_on: + obs-redis: + condition: service_healthy + obs-glitchtip-db-init: + condition: service_completed_successfully + environment: + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@archive-db:5432/glitchtip + REDIS_URL: redis://obs-redis:6379/0 + SECRET_KEY: ${GLITCHTIP_SECRET_KEY} + GLITCHTIP_DOMAIN: ${GLITCHTIP_DOMAIN:-http://localhost:3002} + DEFAULT_FROM_EMAIL: ${APP_MAIL_FROM:-noreply@familienarchiv.local} + EMAIL_URL: smtp://mailpit:1025 + GLITCHTIP_MAX_EVENT_LIFE_DAYS: 90 + ports: + - "127.0.0.1:${PORT_GLITCHTIP:-3002}:8080" + networks: + - archiv-net + - obs-net + + obs-glitchtip-worker: + image: glitchtip/glitchtip:v4 + container_name: obs-glitchtip-worker + restart: unless-stopped + command: ./bin/run-celery-with-beat.sh + depends_on: + obs-redis: + condition: service_healthy + environment: + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@archive-db:5432/glitchtip + REDIS_URL: redis://obs-redis:6379/0 + SECRET_KEY: ${GLITCHTIP_SECRET_KEY} + networks: + - archiv-net + - obs-net + + obs-glitchtip-db-init: + image: postgres:16-alpine + container_name: obs-glitchtip-db-init + restart: "no" + environment: + PGPASSWORD: ${POSTGRES_PASSWORD} + command: > + sh -c "psql -h archive-db -U ${POSTGRES_USER} -tc + \"SELECT 1 FROM pg_database WHERE datname = 'glitchtip'\" | + grep -q 1 || + psql -h archive-db -U ${POSTGRES_USER} -c \"CREATE DATABASE glitchtip;\"" + networks: + - archiv-net networks: # Shared network created by the main docker-compose.yml.