services: db: image: postgres:17.10-bookworm environment: POSTGRES_DB: ${POSTGRES_DB:-hoopscout} POSTGRES_USER: ${POSTGRES_USER:-hoopscout} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-local-dev-password-change-me} healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 5 volumes: - postgres_data:/var/lib/postgresql/data networks: - hoopscout backend: build: context: ./backend environment: DJANGO_DEBUG: ${DJANGO_DEBUG:-1} DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY:-local-development-secret-key-change-me} DJANGO_ALLOWED_HOSTS: ${DJANGO_ALLOWED_HOSTS:-localhost,127.0.0.1,backend} CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost:4200} CSRF_TRUSTED_ORIGINS: ${CSRF_TRUSTED_ORIGINS:-http://localhost:4200} POSTGRES_DB: ${POSTGRES_DB:-hoopscout} POSTGRES_USER: ${POSTGRES_USER:-hoopscout} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-local-dev-password-change-me} POSTGRES_HOST: db POSTGRES_PORT: 5432 RUFF_CACHE_DIR: /tmp/ruff_cache PYTEST_ADDOPTS: -o cache_dir=/tmp/pytest_cache depends_on: db: condition: service_healthy ports: - "8000:8000" volumes: - ./backend:/app networks: - hoopscout frontend: build: context: ./frontend depends_on: - backend ports: - "4200:4200" volumes: - ./frontend:/app - frontend_node_modules:/app/node_modules networks: - hoopscout volumes: postgres_data: frontend_node_modules: networks: hoopscout: driver: bridge