services: # --- Backend Service --- backend: build: context: ./backend container_name: holy-backend restart: unless-stopped networks: - holy-net ports: - "8000:8000" env_file: - .env volumes: - ./backend:/app - ./legacy:/app/legacy environment: - PYTHONUNBUFFERED=1 - DOMAIN=${DOMAIN:-localhost} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health/"] interval: 10s timeout: 5s retries: 5 start_period: 30s worker: build: context: ./backend container_name: holy-worker command: python manage.py worker restart: unless-stopped networks: - holy-net env_file: - .env environment: - DOMAIN=${DOMAIN:-localhost} volumes: - ./backend:/app - ./legacy:/app/legacy depends_on: backend: condition: service_healthy frontend: build: context: ./frontend args: - VITE_API_URL=http://${DOMAIN:-localhost}/api/ - VITE_IMPRESSUM_NAME=${VITE_IMPRESSUM_NAME} - VITE_IMPRESSUM_STREET=${VITE_IMPRESSUM_STREET} - VITE_IMPRESSUM_CITY=${VITE_IMPRESSUM_CITY} - VITE_IMPRESSUM_EMAIL=${VITE_IMPRESSUM_EMAIL} - VITE_IMPRESSUM_PHONE=${VITE_IMPRESSUM_PHONE} container_name: holy-frontend restart: unless-stopped ports: - "80:80" networks: - holy-net env_file: - .env depends_on: backend: condition: service_healthy networks: holy-net: driver: bridge volumes: db_data: