# Development override - use with: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up

services:
  app:
    # Override for local testing:
    # CHARON_DEV_IMAGE=ghcr.io/wikid82/charon:dev
    image: wikid82/charon:dev
    # Development: expose Caddy admin API externally for debugging
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
      - "8080:8080"
      - "2019:2019"  # Caddy admin API (dev only)
    environment:
      - CHARON_ENV=development
      - CPM_ENV=development
      - CHARON_HTTP_PORT=8080
      - CPM_HTTP_PORT=80
      # Generate with: openssl rand -base64 32
      - CHARON_ENCRYPTION_KEY=your-32-byte-base64-key-here
      - CHARON_DB_PATH=/app/data/charon.db
      - CHARON_FRONTEND_DIR=/app/frontend/dist
      - CHARON_CADDY_ADMIN_API=http://localhost:2019
      - CHARON_CADDY_CONFIG_DIR=/app/data/caddy
      # Security Services (Optional)
      # 🚨 DEPRECATED: Use GUI toggle in Security dashboard instead
      #- CPM_SECURITY_CROWDSEC_MODE=disabled # ⚠️ DEPRECATED
      #- CPM_SECURITY_CROWDSEC_API_URL= # ⚠️ DEPRECATED
      #- CPM_SECURITY_CROWDSEC_API_KEY= # ⚠️ DEPRECATED
      #- CPM_SECURITY_WAF_MODE=disabled
      #- CPM_SECURITY_RATELIMIT_ENABLED=false
      #- CPM_SECURITY_ACL_ENABLED=false
      - FEATURE_CERBERUS_ENABLED=true
    # Docker socket group access: copy docker-compose.override.example.yml
    # to docker-compose.override.yml and set your host's docker GID.
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro # For local container discovery
      - crowdsec_data:/app/data/crowdsec
      # Mount your existing Caddyfile for automatic import (optional)
      # - ./my-existing-Caddyfile:/import/Caddyfile:ro
      # - ./sites:/import/sites:ro # If your Caddyfile imports other files

volumes:
  crowdsec_data:
    driver: local
