# Managed by Ansible — do not edit manually
services:
  dashboard:
    image: python:3.12-alpine
    container_name: dashboard
    command: python /app/app.py
    restart: unless-stopped
    volumes:
      - {{ dashboard_data_dir }}/app.py:/app/app.py:ro
      - {{ dashboard_data_dir }}/bg.jpg:/app/bg.jpg:ro
      # Host proc/sys for CPU and RAM stats
      - /proc:/host/proc:ro
      # Host root filesystem (read-only) for disk stats
      - /:/host:ro
    networks:
      - traefik_public
    labels:
      - "traefik.enable=true"
      # Catch all traffic to cloud.ladkau.de not matched by the more specific
      # Traefik dashboard router (which has PathPrefix /dashboard and /api)
      - "traefik.http.routers.status.rule=Host(`{{ domain_cloud }}`)"
      - "traefik.http.routers.status.entrypoints=websecure"
      - "traefik.http.routers.status.tls.certresolver=letsencrypt"
      - "traefik.http.services.status.loadbalancer.server.port=8080"
      - "traefik.http.routers.status.middlewares=rate-limit@docker"

networks:
  traefik_public:
    external: true
