f2923aac62495c03de6eb0d0939e784b8e0893eb
ops/policy-checks/mem-limits-baseline.md captures the deliberate "not today" decision for memory limits plus the plan for when it becomes relevant: - Phase 1: 7 days of hourly docker stats snapshots - Phase 2: derive Tier-1 peak per container - Phase 3: set limits at peak * 1.5 with documented floors (Postgres 1G, Mongo 1G, Redis 256M, etc.) - Phase 4: roll out smallest-risk containers first, observe 24h between stages - Phase 5: Tier-2 only after a concrete trigger event Next trigger: family invitation out + 4 weeks stable use, or first real OOM event in docker-critical-events.sh, or a sudden Immich/Nextcloud load spike where host swap becomes visible. Today's policy check is clean (0 Critical, 1 documented Warning on influxdb3-core user 0, 13 documented Info findings on host ports / privileged exceptions / latest+digest tags). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Homelab Infrastructure (KalliLab CORE)
Dieses Repository ist die zentrale Quelle ("Single Source of Truth") fuer die komplette Infrastruktur meines Homelabs.
WICHTIG - Einstieg
Vor jeder Aenderung lesen:
HOMELAB_ARCHITECTURE_MASTER_V2.mddocs/WORKFLOW.md
Bei Restore-, Host-Ausfall- oder Wiederanlauf-Fragen zusaetzlich:
docs/DISASTER_RECOVERY.mddocs/RESTORE_MATRIX.mddocs/SERVICES_RECOVERY.md
Bei Hardware-, Netzwerk-, Provider- oder Kapazitaetsfragen zusaetzlich:
docs/HARDWARE_INVENTORY.mddocs/NETWORK_INVENTORY.mddocs/EXTERNAL_DEPENDENCIES.mddocs/CAPACITY_AND_LIFECYCLE.md
Architektur
- Host: Unraid
- Container: Docker Compose
- Reverse Proxy: Traefik v3 (Service-Routing via Docker-Labels, File-Provider nur fuer zentrale Dynamic-Config)
- Zugriff: Tailscale (VPN)
- DNS: AdGuard Home + Unbound
- GitOps: Gitea + Komodo
Grundprinzipien
- Gitea Online ist der operative Sollzustand.
- Der lokale Clone ist die Arbeitskopie.
- Komodo deployed automatisch aus Gitea und ist kein Bearbeitungsort.
- Keine produktiven Container ausserhalb von Compose.
- Traefik ist der einzige oeffentliche Einstiegspunkt.
- Secrets werden niemals im Repository gespeichert.
Repository-Struktur
core/-> Basisdienste (Gitea)security/-> sicherheitskritische Diensteinfra/-> Datenbanken und technische Servicesapps/-> Anwendungenops/-> operative Toolsmonitoring/-> zentraler Observability-Stackhost-services/-> Dienste mit Host-Netztraefik/-> Reverse Proxy Konfigurationdocs/-> Dokumentation und Prozesseenv/-> Beispiel-Umgebungsvariablen
Kurz-Workflow
- In GitHub Desktop
Fetch origin. - Wenn noetig
Pull origin. - Lokal aendern.
- Commit erstellen.
Push origin.- Komodo-Webhook und Ergebnis pruefen.
- Doku bei Bedarf aktualisieren.
Status
- Komodo ist der primaere und einzige produktive Stack-Manager.
- Komodo bleibt bewusst bei nativer Authentifizierung; zentrale Traefik-Auth wird dort nicht pauschal vorgeschaltet.
- Portainer CE ist abgeschaltet und kein Teil des aktiven Betriebs mehr.
- Glance ist das aktive produktive Homelab-Dashboard.
- Traefik
dynamic/bleibt eine dokumentierte manuelle Host-Sync-Ausnahme ausserhalb des normalen Komodo-Deployments. - Mutable Image-Tags sind auf die aktuell laufenden Digests eingefroren; echte Versions-Upgrades erfolgen bewusst separat.
- Disaster-Recovery und dienstspezifische Restore-Quellen sind in
docs/DISASTER_RECOVERY.mdunddocs/RESTORE_MATRIX.mdbeschrieben. - Recovery-kritische Services-Pfade wie Gitea-Repositories, Komodo-Workspaces und Host-Automation sind in
docs/SERVICES_RECOVERY.mdbeschrieben. - Hardware-, Netzwerk-, Provider- und Capacity-Inventare sind als operative Audit-Dokumente unter
docs/HARDWARE_INVENTORY.md,docs/NETWORK_INVENTORY.md,docs/EXTERNAL_DEPENDENCIES.mdunddocs/CAPACITY_AND_LIFECYCLE.mdvorbereitet. - Der verbindliche Detailablauf steht in
docs/WORKFLOW.md. nextcloud,bentopdfundmonitoringfolgen dem dokumentierten Netz-/Secret-/Traefik-Modell; der zentrale Monitoring-Stack buendelt Prometheus, Loki, Promtail, Grafana und InfluxDB 3 Core.
Description
Languages
Shell
68%
PowerShell
25.7%
Python
5.6%
JavaScript
0.4%
Dockerfile
0.3%