f8370b6a991dd32de32463b1d1e4a20e23928ad7
deleted: docs/diagrams/monitoring-coverage.mmd deleted: docs/monitoring-coverage.md deleted: docs/network.md deleted: docs/prometheus-inventory.md deleted: docs/runtime/prometheus-inventory.json deleted: docs/runtime/prometheus-query-exposure.json deleted: docs/runtime/prometheus-query-hypervisor.json deleted: docs/runtime/prometheus-query-job-instance.json deleted: docs/runtime/prometheus-query-jobs.json deleted: docs/runtime/prometheus-query-network.json deleted: docs/runtime/prometheus-query-role.json deleted: docs/runtime/prometheus-query-service.json deleted: docs/runtime/prometheus-query-up.json deleted: docs/runtime/prometheus-targets.json deleted: scripts/export_prometheus_inventory.py deleted: scripts/render_prometheus_docs.py
Docker + Traefik Homelab Stack
This repository defines a multi-compose Docker environment with Traefik as ingress, app workloads, and a monitoring/alerting plane.
High-Level Architecture
flowchart TB
Internet((Internet Clients)) -->|HTTPS 443 / HTTP 80| Traefik[Traefik Ingress\nACME TLS + Security Middlewares]
subgraph DockerHost[Primary Docker Host]
Traefik
Authelia[Authelia SSO / ForwardAuth]
CrowdSec[CrowdSec + Traefik Bouncer]
ErrPages[Error Pages Fallback]
subgraph Apps[Business / User Applications]
Nextcloud[Nextcloud]
Passbolt[Passbolt]
Gitea[Gitea]
FamilyTree[Gramps Web]
Searxng[SearXNG]
end
subgraph Ops[Operations & Monitoring]
Grafana[Grafana]
Prometheus[Prometheus]
InfluxDB[InfluxDB]
NodeRED[Node-RED]
Portainer[Portainer]
UptimeKuma[Uptime Kuma]
Gotify[Gotify Notifications]
end
end
Traefik --> Apps
Traefik --> Ops
Traefik -->|ForwardAuth for selected routes| Authelia
Traefik -->|Threat decisions| CrowdSec
Traefik -->|4xx/5xx fallback| ErrPages
Prometheus --> Grafana
Prometheus --> Gotify
For a request-flow/network view and architecture notes, see docs/architecture.md.
Prometheus Runtime Inventory Export
Regenerate derived docs/diagrams from inventory:
python3 scripts/render_prometheus_docs.py --inventory-file docs/runtime/prometheus-inventory.json
Use scripts/export_prometheus_inventory.py to snapshot Prometheus-observed runtime inventory into versionable artifacts for docs/diagram workflows.
export PROMETHEUS_URL="https://prometheus.example.com"
python3 scripts/export_prometheus_inventory.py --output-dir docs/runtime
This writes raw API snapshots and a normalized inventory JSON under docs/runtime/, and updates docs/prometheus-inventory.md.
Description
Languages
Python
47.2%
HCL
27.6%
Shell
15.6%
JavaScript
8.1%
Dockerfile
1.5%