x-environment: &default-environment
  DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
  SECRET_KEY: change_me
  ENABLE_ORGANIZATION_CREATION: "true"
  ENABLE_TEST_API: "true"
  DEBUG: "true"
  EMAIL_BACKEND: "django.core.mail.backends.console.EmailBackend"
  ENABLE_OBSERVABILITY_API: "true"
  #IS_LOAD_TEST: "true"
  CELERY_WORKER_CONCURRENCY: 4
  CELERY_WORKER_PREFETCH_MULTIPLIER: 25
  CELERY_WORKER_POOL: "threads"
  CELERY_SKIP_CHECKS: "true"

x-depends_on: &default-depends_on
  - postgres
  - redis
x-volumes: &default-volumes
  - .:/code
services:
  postgres:
    image: postgres:17
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"
  redis:
    image: valkey/valkey:8
  web:
    # Uncomment for breakpoint
    #stdin_open: true
    #tty: true
    build: .
    user: root # Allows for usage of ipdb, apt, etc in dev
    command: ./manage.py runserver 0.0.0.0:8000
    #command: python app.py
    #command: python -m gunicorn glitchtip.asgi:application -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0
    depends_on: *default-depends_on
    volumes: *default-volumes
    ports:
      - "8000:8000"
    environment: *default-environment
  worker:
    build: .
    user: root
    command: bin/run-celery-with-beat.sh
    depends_on: *default-depends_on
    volumes: *default-volumes
    environment: *default-environment
