From 162421e537c26d4817c0774d4bba055fb8af1d17 Mon Sep 17 00:00:00 2001 From: Micha Date: Sat, 16 May 2026 13:34:45 +0200 Subject: [PATCH] Harden Gitea webhooks and Docker log limits --- core/gitea/docker-compose.yml | 2 +- docs/REPO_MAP.md | 1 + docs/SERVICE_CATALOG.md | 8 ++++++++ host-services/docker/daemon.json | 7 +++++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 host-services/docker/daemon.json diff --git a/core/gitea/docker-compose.yml b/core/gitea/docker-compose.yml index eb08d0c..1c3792c 100644 --- a/core/gitea/docker-compose.yml +++ b/core/gitea/docker-compose.yml @@ -11,7 +11,7 @@ services: - GITEA__server__DOMAIN=git.kaleschke.info - GITEA__server__ROOT_URL=https://git.kaleschke.info/ - GITEA__database__DB_TYPE=sqlite3 - - GITEA__webhook__ALLOWED_HOST_LIST=* + - GITEA__webhook__ALLOWED_HOST_LIST=komodo-core,localhost,127.0.0.1,192.168.178.0/24 volumes: - /mnt/user/services/gitea/data:/data ports: diff --git a/docs/REPO_MAP.md b/docs/REPO_MAP.md index 1cb9421..db76797 100644 --- a/docs/REPO_MAP.md +++ b/docs/REPO_MAP.md @@ -49,6 +49,7 @@ Secret-Werte werden hier nicht dokumentiert. Aufgefuehrt werden nur Variablennam | `ops/grafana-influxdb/provisioning/dashboards/*.json` | Grafana Dashboards fuer Container-Logs, Restart-Events und Error-Rate | | `ops/loki/config/loki-config.yml` | Loki Filesystem/Retention-Konfiguration fuer internen Logspeicher | | `ops/loki/config/config.alloy` | Alloy Docker-Log-Collector-Konfiguration | +| `host-services/docker/daemon.json` | Host-Docker-Log-Limits fuer `json-file` Logs | | `ops/borg-ui/scripts/pre-backup-dumps.sh` | Host-seitiges Dump-Skript fuer PostgreSQL, SQLite-Container-Dumps und Komodo Mongo | | `services/posture-check/posture-check.sh` | Host-seitiger Posture-Check fuer Filesystem, Mover-Drift, NVMe-SMART, Fuellstand und ntfy-Alarmierung | | `services/posture-check/docker-critical-events.sh` | Host-seitiger Docker-Event-Watcher fuer kritische ntfy-Alarme | diff --git a/docs/SERVICE_CATALOG.md b/docs/SERVICE_CATALOG.md index 6668b9e..a29fe13 100644 --- a/docs/SERVICE_CATALOG.md +++ b/docs/SERVICE_CATALOG.md @@ -87,6 +87,14 @@ Secret-Werte sind nicht enthalten. Es werden nur Secret-Namen, Env-Key-Namen und - Raw Live-DB-Pfade sind meist nicht der primaere Restore-Weg; bevorzugt werden Dumps plus Appdaten. - Borg UI nimmt bewusst `/local/secrets` in den DR-Scope auf. +## Logging-Resilienz + +- Docker-Rohlogs bleiben die erste Fallback-Ebene: `docker logs ` funktioniert unabhaengig von Loki/Grafana. +- Loki-Chunks liegen unter `/mnt/user/appdata/loki/data` und koennen durch Neustart des internen Loki-Stacks wieder genutzt werden. +- Host-Logs wie `/var/log/syslog` und `dmesg` bleiben die Quelle fuer Kernel-, OOM- und Docker-Daemon-Ereignisse. +- Critical-Events werden zusaetzlich ueber ntfy extern sichtbar, wenn `services/posture-check/docker-critical-events.sh` als Host-Watcher laeuft. +- Docker `json-file` Logs werden ueber `host-services/docker/daemon.json` auf `max-size=50m` und `max-file=5` begrenzt; Aenderungen greifen nach geplantem Docker-/Host-Restart. + ## Bekannte offene Fragen - Authelia Repo-Baseline, Host-Config und Compose-Middlewares sollten bei Auth-Aenderungen explizit abgeglichen werden. diff --git a/host-services/docker/daemon.json b/host-services/docker/daemon.json new file mode 100644 index 0000000..6e49d82 --- /dev/null +++ b/host-services/docker/daemon.json @@ -0,0 +1,7 @@ +{ + "log-driver": "json-file", + "log-opts": { + "max-size": "50m", + "max-file": "5" + } +}