# Apache Superset - Smart City Digital Twin
# Uses official apache/superset Docker Hub image
# Access: https://superset.digitribe.fr

networks:
  smartcity-shared:
    external: true
  traefik-public:
    external: true

volumes:
  superset_home:

services:
  superset:
    image: apache/superset:latest
    container_name: superset-app
    restart: unless-stopped
    networks:
      - smartcity-shared
      - traefik-public
    environment:
      # Use Superset's built-in SQLite for metadata (simplest setup)
      # For production, replace with PostgreSQL
      SUPERSET_SECRET_KEY: superset-secret-key-2024-change-me
    volumes:
      - superset_home:/app/superset_home
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.superset.rule=Host(`superset.digitribe.fr`)"
      - "traefik.http.routers.superset.entrypoints=websecure"
      - "traefik.http.routers.superset.tls.certresolver=letsencrypt"
      - "traefik.http.services.superset.loadbalancer.server.port=8088"
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8088/health || exit 1"]
      interval: 30s
      timeout: 15s
      retries: 5
      start_period: 120s
