version: '3.8' x-environment: &default-environment # Required settings DATABASE_URL: postgres://postgres:postgres_password@postgres:5432/postgres SECRET_KEY: change_me_to_a_random_string_at_least_32_characters_long PORT: 8000 # Internal port remains 8000 GLITCHTIP_DOMAIN: https://errors.yourdomain.com DEFAULT_FROM_EMAIL: errors@yourdomain.com # Email configuration (uncomment and configure one option) EMAIL_URL: smtp://username:password@smtp.yourdomain.com:587 # MAILGUN_API_KEY: your_mailgun_key # EMAIL_BACKEND: anymail.backends.mailgun.EmailBackend # SENDGRID_API_KEY: your_sendgrid_key # EMAIL_BACKEND: anymail.backends.sendgrid.EmailBackend # Performance settings UWSGI_WORKERS: 2 CELERY_WORKER_CONCURRENCY: 2 # Data retention settings GLITCHTIP_MAX_EVENT_LIFE_DAYS: 90 GLITCHTIP_MAX_TRANSACTION_EVENT_LIFE_DAYS: 90 GLITCHTIP_MAX_FILE_LIFE_DAYS: 180 # Security settings ENABLE_USER_REGISTRATION: false ENABLE_ORGANIZATION_CREATION: false x-depends_on: &default-depends_on - postgres - redis services: postgres: image: postgres:16 environment: POSTGRES_PASSWORD: postgres_password POSTGRES_DB: postgres POSTGRES_USER: postgres restart: unless-stopped volumes: - pg-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 redis: image: valkey/valkey:latest restart: unless-stopped volumes: - redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 web: image: glitchtip/glitchtip:latest depends_on: *default-depends_on ports: - "8800:8000" # Changed external port to 8800 environment: *default-environment restart: unless-stopped volumes: - uploads:/code/uploads healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health/"] interval: 30s timeout: 10s retries: 3 start_period: 30s worker: image: glitchtip/glitchtip:latest command: ./bin/run-celery-with-beat.sh depends_on: *default-depends_on environment: *default-environment restart: unless-stopped volumes: - uploads:/code/uploads migrate: image: glitchtip/glitchtip:latest depends_on: *default-depends_on command: ./bin/run-migrate.sh environment: *default-environment restart: "no" volumes: pg-data: redis-data: uploads: