fdcc0079cb
Shows live service health (green/red links) and server CPU, RAM, and disk usage with progress bars. Reads host stats from /host/proc, checks service endpoints every 30 s, and serves a frosted-glass UI over a configurable background image (ansible/roles/dashboard/files/bg.jpg).
30 lines
1.0 KiB
Django/Jinja
30 lines
1.0 KiB
Django/Jinja
# 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
|