git f8370b6a99 deleted: docs/diagrams/architecture.mmd
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
2026-04-13 17:00:53 +10:00
2026-04-01 08:48:11 +10:00
2026-04-13 13:15:46 +10:00
2026-04-07 19:39:48 +10:00
2026-04-01 08:48:11 +10:00
2026-04-01 08:48:11 +10:00
2025-07-20 13:25:51 +10:00
2026-04-07 19:39:48 +10:00
2026-04-01 08:48:11 +10:00
2026-04-01 08:48:11 +10:00
2026-04-01 08:48:11 +10:00
2026-04-13 05:35:12 +10:00
2026-03-31 19:59:49 +10:00
2026-03-31 19:59:49 +10:00
2026-04-01 08:48:11 +10:00
2025-07-20 13:25:51 +10:00

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.

S
Description
No description provided
Readme 2.2 MiB
Languages
Python 47.2%
HCL 27.6%
Shell 15.6%
JavaScript 8.1%
Dockerfile 1.5%