Compare commits
3 Commits
b5d574fb41
...
90ef6374a5
| Author | SHA1 | Date | |
|---|---|---|---|
| 90ef6374a5 | |||
| e6a0e9fea4 | |||
| 10ef703a4e |
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
bentopdf:
|
bentopdf:
|
||||||
image: bentopdfteam/bentopdf:2.8.4@sha256:f54b9ed9c56b767e0098b525468206689b666323c2b500b9686c3cf41cdfa348
|
image: bentopdfteam/bentopdf:2.8.5@sha256:2d867aacb8ab5b196d00ee86944b1899d09d72df355384c5e15cf974737963a0
|
||||||
container_name: bentopdf
|
container_name: bentopdf
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
tmpfs:
|
tmpfs:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
mail-archiver:
|
mail-archiver:
|
||||||
image: s1t5/mailarchiver@sha256:94d7525db56b13154a14203f8fb7b53fac034f28a914c32da9d2e426b49328ed
|
image: s1t5/mailarchiver@sha256:ea7fd8c2e3e0ef0941e8dd9e726e35a8de33296f5c7b9ed811df5168ae6a9714
|
||||||
container_name: mail-archiver
|
container_name: mail-archiver
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:v3.12.0@sha256:8d962f611390a1cca667eed32a29e9467e9c01c523e2db3ad00f667372067f9d
|
image: ghcr.io/mealie-recipes/mealie:v3.19.2@sha256:f68e959bf66f4f458893ea58facac71690fe6f2ac7a31466b5cecb41b4e99c02
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
image: nextcloud:33.0.2-apache@sha256:39b2ba219271a22851f8409a7b1295d5892aba1696d9193500311c02e60591a4
|
image: nextcloud:33.0.4-apache@sha256:caa40b8beaf0057ac213d8dfc515c36ce64f7a8f0825b6a287e6f7cf2f4a095d
|
||||||
container_name: nextcloud
|
container_name: nextcloud
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
ntfy:
|
ntfy:
|
||||||
image: binwiederhier/ntfy@sha256:2b9e12d56a538f4402da51328eeca02696c4b207ab7fbe031c27e51a22ca9b86
|
image: binwiederhier/ntfy@sha256:b32b4221a64ec2e7c000f0782b2feef24022e1a09a24e531640f4cbba6cfa1e6
|
||||||
container_name: ntfy
|
container_name: ntfy
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
dns:
|
dns:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
paperless-gpt:
|
paperless-gpt:
|
||||||
image: icereed/paperless-gpt:v0.24.0@sha256:15bad5d455b98f21bb7b5d6615f56871ff67a8bb379dc0dd7ba411f4633071a6
|
image: icereed/paperless-gpt:v0.25.1@sha256:c0ce6186028911101a2cfe68353f14a9dbb2653596f3f1cff94de4b6db3114ff
|
||||||
container_name: paperless-gpt
|
container_name: paperless-gpt
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
paperless:
|
paperless:
|
||||||
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.10@sha256:07a0b4ba01ce377c82a0636e16c0c3d931fde5b7e9304de6601986cc42d9b6e6
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.15@sha256:6c86cad803970ea782683a8e80e7403444c5bf3cf70de63b4d3c8e87500db92f
|
||||||
container_name: paperless-ngx
|
container_name: paperless-ngx
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
unbound:
|
unbound:
|
||||||
image: shaanmajid/unbound:1.24.2@sha256:d278b71c592b2555cc802911bb0757a6a24f4a8ad7f5848720296c04876eeb63
|
image: shaanmajid/unbound:1.25.1@sha256:96809ff052e8bd79bba30e067d8b27ed9a2f069b6b2a3484fe1d0eb45aba07c5
|
||||||
container_name: unbound
|
container_name: unbound
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
gitea:
|
gitea:
|
||||||
image: docker.gitea.com/gitea:1.25.4@sha256:17d18218be2dad1f8ed402a4f906989505c90ab8b66ee9befcecfb5d470133e7
|
image: docker.gitea.com/gitea:1.26.2@sha256:7d13848af12645600a5f9d93ee2560daa9c6fa6b5b859b7bff3a5e1c0b661031
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -0,0 +1,123 @@
|
|||||||
|
# Codex-Prompt: Komodo 5xx-Spam Root-Cause
|
||||||
|
|
||||||
|
Stand: 2026-05-31
|
||||||
|
Auftraggeber: Operator
|
||||||
|
Vorarbeit: Claude (auto-mode), siehe Ermittlungsstand unten.
|
||||||
|
|
||||||
|
## Auftrag
|
||||||
|
|
||||||
|
`HomelabTraefik5xx` feuert dauerhaft fuer `service="komodo@docker"`. Quelle
|
||||||
|
finden, fixen, dokumentieren. Bitte einmal **bis zum Ende** durchziehen, nicht
|
||||||
|
nur eine Hypothese pruefen.
|
||||||
|
|
||||||
|
## Vor Arbeitsbeginn lesen
|
||||||
|
|
||||||
|
- `CLAUDE.md`
|
||||||
|
- `docs/WORKFLOW.md`
|
||||||
|
- `monitoring/prometheus/alerts.yml`
|
||||||
|
- `docs/ALERT_RULES.md`
|
||||||
|
- `ops/komodo/docker-compose.yml`
|
||||||
|
- `traefik/docker-compose.yml`
|
||||||
|
- `monitoring/prometheus/prometheus.yml` (Blackbox-Targets)
|
||||||
|
- `monitoring/blackbox/blackbox.yml`
|
||||||
|
- `ops/glance/config/glance.yml` (5 Komodo-URL-Stellen, **NICHT** die Quelle — siehe Ermittlung)
|
||||||
|
|
||||||
|
## Ermittlungsstand (bereits geklaert)
|
||||||
|
|
||||||
|
### Was gemessen wurde
|
||||||
|
|
||||||
|
- Traefik-Access-Log: Source-IP ist **eure WAN-IP `217.249.121.39`** (Hairpin
|
||||||
|
aus dem Heimnetz). User-Agent leer (`"-"`).
|
||||||
|
- Muster: `GET /` 200 **alle 15s** + `GET /user` **500** alle 30s, plus
|
||||||
|
gelegentlich `POST /auth/login/GetLoginOptions` 200 und
|
||||||
|
`POST /read/GetCoreInfo` 500.
|
||||||
|
- Prometheus `sum by (code) (increase(traefik_service_requests_total{service="komodo@docker"}[5m]))`:
|
||||||
|
`200`=22, `500`=14 (Werte vom 2026-05-31 08:11 UTC).
|
||||||
|
- `docker logs komodo-core` ist still — keine internen Errors, nur normale
|
||||||
|
Execute-Requests. Komodo wirft den 500 also vermutlich auf Auth-Pfad
|
||||||
|
(`/user` ohne gueltige Session sollte `401` sein, nicht `500`). Das ist ein
|
||||||
|
Komodo-Bug-on-Top, **aber nicht die Frage**.
|
||||||
|
|
||||||
|
### Ausgeschlossene Kandidaten (durch Test)
|
||||||
|
|
||||||
|
- **Browser-Tabs** — User hat alle Komodo-Tabs zugemacht, Polling laeuft
|
||||||
|
weiter.
|
||||||
|
- **PWA auf Handy** — User hat keine.
|
||||||
|
- **Uptime-Kuma** — Container existiert nicht mehr.
|
||||||
|
- **Homepage** — entfernt.
|
||||||
|
- **Glance** — Test 2026-05-31 ~08:35 UTC: 130s gestoppt, 5xx-Rate
|
||||||
|
unveraendert (2/60s Baseline → 4/130s waehrend Stop). Trotz 5 Komodo-URL-
|
||||||
|
Eintraegen in `ops/glance/config/glance.yml` (search-shortcut Zeile 40,
|
||||||
|
bookmark Zeilen 131/768, monitor-Widget Zeile 237 mit `check-url:
|
||||||
|
http://komodo-core:9120`, docker-containers-Widget Zeile 725). Glance ist
|
||||||
|
raus.
|
||||||
|
|
||||||
|
### Noch nicht getestete Kandidaten
|
||||||
|
|
||||||
|
- **Posture-Check / cert-token-check.sh** (`services/posture-check/`) — koennte
|
||||||
|
periodisch Komodo-HTTPS pingen. 15s-/30s-Kadenz waere ungewoehnlich fuer
|
||||||
|
einen Cron-Job, aber pruefen.
|
||||||
|
- **Blackbox-Exporter** — pollt laut `monitoring/prometheus/prometheus.yml`
|
||||||
|
`https://komodo.kaleschke.info` alle 15s. Das erklaert den `GET / 200`-
|
||||||
|
Anteil sauber. Erklaert aber NICHT den `GET /user 500` 30s-Takt.
|
||||||
|
- **Komodo Periphery** — auf `komodo_net` und `frontend_net`. Sollte mit
|
||||||
|
Core via internes Netz reden, koennte aber per Misconfig die Public-URL
|
||||||
|
treffen. Logs noch nicht eingesehen.
|
||||||
|
- **Komodo Core selbst** mit `KOMODO_HOST=https://komodo.kaleschke.info` —
|
||||||
|
evtl. Self-Check via Public-URL.
|
||||||
|
- **Ein Gerat im LAN**, das wir noch nicht auf dem Schirm haben (zweiter
|
||||||
|
Rechner mit altem Tab, Smart-TV, etc.).
|
||||||
|
|
||||||
|
### Was nicht geht
|
||||||
|
|
||||||
|
- `tcpdump` fehlt auf dem Host.
|
||||||
|
- `conntrack` zeigt die Hairpin-Pakete nicht (NAT-Pre-Routing).
|
||||||
|
|
||||||
|
## Naechste Schritte (Vorschlag)
|
||||||
|
|
||||||
|
1. **Blackbox-Exporter ausschliessen**: Targets in `prometheus.yml` zeigen,
|
||||||
|
dass Blackbox NUR `https://komodo.kaleschke.info` pollt (also `/`, kein
|
||||||
|
`/user`). Bestaetigen.
|
||||||
|
2. **Posture-Check pruefen**: `services/posture-check/cert-token-check.sh`
|
||||||
|
lesen, Kadenz und Endpunkte protokollieren. Falls dort `/user` oder ein
|
||||||
|
30s-Loop drin ist → Treffer.
|
||||||
|
3. **Periphery isolieren**: Periphery 2 min stoppen, Traefik-Log gegen-
|
||||||
|
checken. `docker stop komodo-periphery; sleep 130; <log-check>; docker
|
||||||
|
start komodo-periphery`. Vorsicht: Periphery-Down heisst Komodo-Deploy
|
||||||
|
funktioniert nicht — also nur kurz, kein Deploy in dem Fenster.
|
||||||
|
4. **Komodo-Core isolieren**: Wenn 1-3 nichts ergeben, Komodo-Core selbst 2 min
|
||||||
|
stoppen. Wenn Polling weiterlaeuft, ist der Client ausserhalb der Komodo-
|
||||||
|
Stack (LAN-Geraet). Wenn es aufhoert, polled Komodo Core sich selbst.
|
||||||
|
5. **LAN-Aufnahme via Komodo-Container**: Falls Container-Stack ausgeschlossen,
|
||||||
|
im komodo-core-Container per `ss -tnp state syn-recv` waehrend einer
|
||||||
|
typischen Polling-Sekunde mitschauen. Source-IP/Port der eingehenden
|
||||||
|
Connection liefert den Hairpin-Origin am genauesten.
|
||||||
|
|
||||||
|
## Fix-Erwartung
|
||||||
|
|
||||||
|
Sobald Quelle bekannt:
|
||||||
|
|
||||||
|
- **Wenn Container im Stack**: Config so anpassen, dass die Anfrage intern
|
||||||
|
laeuft (kein Public-Hostname), inkl. Doku.
|
||||||
|
- **Wenn LAN-Geraet**: User informieren, was es ist; wenn moeglich Geraet
|
||||||
|
reparieren (Tab schliessen, App deinstallieren). Kein Repo-Change noetig.
|
||||||
|
- **Wenn nicht abstellbar**: separate Frage, ob `HomelabTraefik5xx` fuer
|
||||||
|
`service="komodo@docker"` mit einem Exclude versehen werden soll — aber nur
|
||||||
|
als letzter Ausweg. Default ist: Quelle fixen.
|
||||||
|
|
||||||
|
## Doku am Ende
|
||||||
|
|
||||||
|
- Eintrag in `docs/MIGRATION_LOG.md`: Datum, Symptom, Root-Cause, Fix,
|
||||||
|
Smoke-Test.
|
||||||
|
- Falls eine Glance-/Periphery-/sonstige Config-Aenderung noetig wird:
|
||||||
|
Standard-Loop (Commit → Push → Komodo-Deploy → Smoke), Co-Authored-By-Tag
|
||||||
|
mitgeben.
|
||||||
|
|
||||||
|
## Regeln (nicht verhandelbar)
|
||||||
|
|
||||||
|
- Git → Push → Komodo. Keine direkten Komodo-Edits.
|
||||||
|
- Stop/Start-Tests sind okay, aber nur kurz (≤ 3 min) und mit
|
||||||
|
Wiederanlauf-Schritt im selben Block.
|
||||||
|
- Secrets nicht ausgeben.
|
||||||
|
- Bei zwei gescheiterten Versuchen: stop, Pflichtmatrix aus
|
||||||
|
`docs/GITOPS_DRIFT_RUNBOOK.md`, Operator fragen.
|
||||||
@@ -17,6 +17,17 @@ Dieses Dokument ist nur noch ein historischer Verlauf. Der aktuelle operative Ab
|
|||||||
|
|
||||||
## Historische Meilensteine
|
## Historische Meilensteine
|
||||||
|
|
||||||
|
### 2026-05-31 - Komodo 5xx-Spam eingegrenzt: LAN-Client statt Stack-Fehler
|
||||||
|
|
||||||
|
`HomelabTraefik5xx` feuerte fuer `service="komodo@docker"`, weil wiederkehrende Komodo-UI-API-Requests ohne gueltige Session (`GET /user`, zeitweise `POST /read/GetCoreInfo`) von Traefik als 500 gezaehlt wurden. Komodo Core selbst loggte keine internen Fehler; die 500-Antwort ist ein Komodo-Auth-Pfad-Bug-on-top, aber nicht die primaere Betriebsstoerung.
|
||||||
|
|
||||||
|
- Bestaetigt: Blackbox-Exporter erklaert nur `GET /` alle 15s. Waehrend `monitoring-blackbox-exporter` gestoppt war, verschwanden die `/`-200-Probes, `/user`-500 lief aber weiter.
|
||||||
|
- Ausgeschlossen: `cert-token-check.sh` prueft keine Komodo-Domain; Komodo Periphery war nach 130s Stop nicht die Quelle; Glance war bereits vorab durch Stop-Test ausgeschlossen.
|
||||||
|
- Core-Isolation: Bei gestopptem `komodo-core` liefen die Client-Requests weiter, aber Traefik loggte sie als 404 ohne `komodo@docker`-Service. Nach Core-Start wurden dieselben Requests wieder zu `komodo@docker`-500. Damit ist die Quelle ein LAN-/Client-Geraet, nicht Komodo Core als Self-Poll.
|
||||||
|
- Lokale Client-Suche: Auf dem Windows-Operator-PC `192.168.178.103` bestanden HTTPS-Verbindungen zur WAN-IP `217.249.121.39`. Brave war zunaechst plausibel, weil die Brave-Session alte Komodo-Tabs enthielt; ein Brave-Schluss beendete den 5xx-Takt jedoch nicht. Danach blieb als lokaler Kandidat nur `Codex.exe` mit Verbindung zur WAN-IP. Der in-app Browser zeigte keine offene Seite, daher ist der operative Fix: Codex-App/Thread nach Abschluss schliessen bzw. neu starten; falls der Takt danach wider Erwarten weiterlaeuft, naechster Schritt ist LAN-Geraetesuche am Router/Switch statt Repo-Aenderung.
|
||||||
|
- Kein Repo-/Komodo-Fix umgesetzt: Monitoring-Regel und Komodo-Compose bleiben unveraendert. Ein Alert-Exclude fuer `komodo@docker` waere nur ein letzter Ausweg und wurde nicht gesetzt.
|
||||||
|
- Smoke-Beleg waehrend der Eingrenzung: `traefik`, `komodo-core`, `komodo-periphery`, `komodo-mongo` und `monitoring-blackbox-exporter` liefen nach den Stop/Start-Tests wieder; `komodo-mongo` und `traefik` waren healthy.
|
||||||
|
|
||||||
### 2026-05-30 - Komodo-Bootstrap-Trockenlauf Erstlauf (F-09 Rest abgeschlossen)
|
### 2026-05-30 - Komodo-Bootstrap-Trockenlauf Erstlauf (F-09 Rest abgeschlossen)
|
||||||
|
|
||||||
Skript ist seit 2026-05-29 vorbereitet, heute erster echter Lauf auf dem Host.
|
Skript ist seit 2026-05-29 vorbereitet, heute erster echter Lauf auf dem Host.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
adguard:
|
adguard:
|
||||||
image: adguard/adguardhome:v0.107.52@sha256:d16cc7517ab96f843e7f8bf8826402dba98f5e6b175858920296243332391589
|
image: adguard/adguardhome:v0.107.76@sha256:7157eb1dc3b26c7af1d6898759a7b3f7d0fa09891fbd2d3caa6abc1057a9179b
|
||||||
container_name: adguard
|
container_name: adguard
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
tailscale:
|
tailscale:
|
||||||
image: tailscale/tailscale:stable@sha256:dbeff02d2337344b351afac203427218c4d0a06c43fc10a865184063498472a6
|
image: tailscale/tailscale:stable@sha256:25cde9ad76020b0e29229136d0c38b5962e9a0e1774ffac9b0df68e4a37d6cf0
|
||||||
container_name: Tailscale-Docker
|
container_name: Tailscale-Docker
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
ddns-updater:
|
ddns-updater:
|
||||||
image: ghcr.io/qdm12/ddns-updater:latest@sha256:ee16ab4f6203bf9e5b0925d38a0b4ebf2d9f23771f933cfb2f5a2dbd5f9a2f88
|
image: ghcr.io/qdm12/ddns-updater:latest@sha256:9313e1c31f366c89dc0819e5eff85576cb23821424c0c267fa66cfa39aabde83
|
||||||
container_name: ddns-updater
|
container_name: ddns-updater
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
prometheus:
|
prometheus:
|
||||||
image: prom/prometheus:v3.7.3@sha256:49214755b6153f90a597adcbff0252cc61069f8ab69ce8411285cd4a560e8038
|
image: prom/prometheus:v3.12.0@sha256:69f5241418838263316593f7274a304b095c40bcf22e57272865da91bd60a8ac
|
||||||
container_name: monitoring-prometheus
|
container_name: monitoring-prometheus
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@@ -25,7 +25,7 @@ services:
|
|||||||
- cadvisor
|
- cadvisor
|
||||||
|
|
||||||
alertmanager:
|
alertmanager:
|
||||||
image: prom/alertmanager:v0.28.1@sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba
|
image: prom/alertmanager:v0.32.1@sha256:51a825c2a40acc3e338fdd00d622e01ec090f72be2b3ea46be0839cd47a4d286
|
||||||
container_name: monitoring-alertmanager
|
container_name: monitoring-alertmanager
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@@ -42,7 +42,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
alertmanager-ntfy-bridge:
|
alertmanager-ntfy-bridge:
|
||||||
image: python:3.13-alpine@sha256:420cd0bf0f3998275875e02ecd5808168cf0843cbb4d3c536432f729247b2acc
|
image: python:3.14-alpine@sha256:5a824eb82cc75361f98611f3cfc5091ea33f10a6ccea4d4ebdabbc523b9a1614
|
||||||
container_name: monitoring-alertmanager-ntfy-bridge
|
container_name: monitoring-alertmanager-ntfy-bridge
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
dns:
|
dns:
|
||||||
@@ -63,7 +63,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
blackbox-exporter:
|
blackbox-exporter:
|
||||||
image: prom/blackbox-exporter:v0.27.0@sha256:a50c4c0eda297baa1678cd4dc4712a67fdea713b832d43ce7fcc5f9bea05094d
|
image: prom/blackbox-exporter:v0.28.0@sha256:e753ff9f3fc458d02cca5eddab5a77e1c175eee484a8925ac7d524f04366c2fc
|
||||||
container_name: monitoring-blackbox-exporter
|
container_name: monitoring-blackbox-exporter
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
dns:
|
dns:
|
||||||
@@ -97,7 +97,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
promtail:
|
promtail:
|
||||||
image: grafana/promtail:3.6.10@sha256:2a0f5e3e160ee5d549c585f6cc4f4e1c566ff783324a424bd75bc16503fc660e
|
image: grafana/promtail:3.6.11@sha256:a761cb834cfaeee29745440d4884d6748f0a08d8f68928db1d707018c1dcfbe9
|
||||||
container_name: monitoring-promtail
|
container_name: monitoring-promtail
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@@ -162,7 +162,7 @@ services:
|
|||||||
- traefik.http.services.monitoring-grafana.loadbalancer.server.port=3000
|
- traefik.http.services.monitoring-grafana.loadbalancer.server.port=3000
|
||||||
|
|
||||||
grafana-dashboard-importer:
|
grafana-dashboard-importer:
|
||||||
image: python:3.13-alpine
|
image: python:3.14-alpine
|
||||||
container_name: monitoring-grafana-dashboard-importer
|
container_name: monitoring-grafana-dashboard-importer
|
||||||
restart: "no"
|
restart: "no"
|
||||||
profiles:
|
profiles:
|
||||||
@@ -273,7 +273,7 @@ services:
|
|||||||
echo "Dashboard import complete."
|
echo "Dashboard import complete."
|
||||||
|
|
||||||
node-exporter:
|
node-exporter:
|
||||||
image: prom/node-exporter:v1.9.1@sha256:d00a542e409ee618a4edc67da14dd48c5da66726bbd5537ab2af9c1dfc442c8a
|
image: prom/node-exporter:v1.11.1@sha256:e9cff4fc67b1818f8c97adb115b9f12c9a54b533de86765d4a0effc01b357205
|
||||||
container_name: monitoring-node-exporter
|
container_name: monitoring-node-exporter
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@@ -295,7 +295,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
cadvisor:
|
cadvisor:
|
||||||
image: ghcr.io/google/cadvisor:v0.53.0@sha256:c3770bd6fc6c6a9cb2b47143e6b3cc3fdd9d20a8453dffbb7e09a145e7e0c4e4
|
image: ghcr.io/google/cadvisor:v0.57.0@sha256:e75bdb03b74b0b6995f208f166fead2e6e555dde73e44200113bb26f41b1981d
|
||||||
container_name: monitoring-cadvisor
|
container_name: monitoring-cadvisor
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@@ -316,7 +316,7 @@ services:
|
|||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
influxdb3-core:
|
influxdb3-core:
|
||||||
image: influxdb:3.9.1-core@sha256:1d58c8b9ac90153ae3a020ede2810c8284933dda50ac71e7573389ab6f012128
|
image: influxdb:3.9.2-core@sha256:31ad94df2248134989b2cf73d965e51dd5f35dfae22d7ed8f4776b12e6f69f4e
|
||||||
container_name: monitoring-influxdb3-core
|
container_name: monitoring-influxdb3-core
|
||||||
user: "0"
|
user: "0"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
borg-ui:
|
borg-ui:
|
||||||
image: ainullcode/borg-ui@sha256:867c73983e5bef5491cdee1c34acf85fe8a9fe4f6ad5a9381e7ca2c382359ce6
|
image: ainullcode/borg-ui@sha256:b44c0a92b650d80f215a986dadda5c2604c61eb28a7571e19c046eff41d761e7
|
||||||
container_name: borg-ui
|
container_name: borg-ui
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
code-server:
|
code-server:
|
||||||
image: lscr.io/linuxserver/code-server:4.116.0@sha256:4620adace18935dd6ca79d77e3bc1c379e21875392192f970cf5d6b0fb4aefcd
|
image: lscr.io/linuxserver/code-server:4.122.0@sha256:0caf1b65ebec84b94397108b56da6c33f124c5390f5832da94e75f4609c0e2ad
|
||||||
container_name: code-server
|
container_name: code-server
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
filebrowser:
|
filebrowser:
|
||||||
image: filebrowser/filebrowser:v2.63.2@sha256:4dce87308b9f9cfbcf8d0a284fc9565d2b515530a6bae2d920b388161e093f26
|
image: filebrowser/filebrowser:v2.63.5@sha256:aefb0c20de10ef8b617995ca5522479ad40d41e6386bd01946a345c6026ff31c
|
||||||
container_name: filebrowser
|
container_name: filebrowser
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
glance:
|
glance:
|
||||||
image: glanceapp/glance:v0.8.4
|
image: glanceapp/glance:v0.8.5
|
||||||
container_name: glance
|
container_name: glance
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
glances:
|
glances:
|
||||||
image: nicolargo/glances:latest-full@sha256:b4b0f059fa8064a0e8dae5530ce9334834ab07205269cfbf405d16b4d40c0c66
|
image: nicolargo/glances:latest-full@sha256:60872a1af0e40a3150975617c7e811ad7ad48f95bc45d033fb0c1737a037e4d2
|
||||||
container_name: glances
|
container_name: glances
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
pid: host
|
pid: host
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM nousresearch/hermes-agent:v2026.4.16
|
FROM nousresearch/hermes-agent:v2026.5.29
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ services:
|
|||||||
# Admin-Dienst: bewusst ohne pauschale ForwardAuth-Middleware; dokumentierte Ausnahme
|
# Admin-Dienst: bewusst ohne pauschale ForwardAuth-Middleware; dokumentierte Ausnahme
|
||||||
# ──────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────
|
||||||
komodo-core:
|
komodo-core:
|
||||||
image: ghcr.io/moghtech/komodo-core:2@sha256:8a7dbba232e4e49797bb412be5f78207c89fcf22cc2727b38631ae30f7518a4c
|
image: ghcr.io/moghtech/komodo-core:2@sha256:7afbcfa99674bf3f51539ec3aa7235795e9b994af9b7099a6c4c654d5d8a5b6b
|
||||||
container_name: komodo-core
|
container_name: komodo-core
|
||||||
init: true
|
init: true
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -79,7 +79,7 @@ services:
|
|||||||
# Ausnahme: Docker-Socket ohne :ro (Periphery startet/stoppt Container)
|
# Ausnahme: Docker-Socket ohne :ro (Periphery startet/stoppt Container)
|
||||||
# ──────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────
|
||||||
komodo-periphery:
|
komodo-periphery:
|
||||||
image: ghcr.io/moghtech/komodo-periphery:2@sha256:8ac9f2ef9c1461b95c862d445da00253005e7094d1e30f5b7b04b8d60ca7a3d6
|
image: ghcr.io/moghtech/komodo-periphery:2@sha256:7fb1a4807d125ce036a17d37c940b4001402afcaf342a2c720c98d096b1b54da
|
||||||
container_name: komodo-periphery
|
container_name: komodo-periphery
|
||||||
init: true
|
init: true
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
scrutiny:
|
scrutiny:
|
||||||
image: ghcr.io/starosdev/scrutiny:latest-omnibus@sha256:9f77acf1a567802bbefe0f0e7510cb2ecc20d319276cf183512c7e843214abd8
|
image: ghcr.io/starosdev/scrutiny:latest-omnibus@sha256:a79cd67878a797bc9412e9a9a3e330cd1062f78bd98dc28e2654e655196b8743
|
||||||
container_name: scrutiny
|
container_name: scrutiny
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: true
|
privileged: true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
speedtest-tracker:
|
speedtest-tracker:
|
||||||
image: lscr.io/linuxserver/speedtest-tracker:1.13.12@sha256:eb3d249f16177964daa4fff7f6a90bbf6645f4e23158d92f5cddb133728d0804
|
image: lscr.io/linuxserver/speedtest-tracker:1.14.3@sha256:79c00631575dec6d91c10ed904c211224f00813013a305c2284324e195a538bb
|
||||||
container_name: speedtest-tracker
|
container_name: speedtest-tracker
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ name: authelia
|
|||||||
services:
|
services:
|
||||||
authelia:
|
authelia:
|
||||||
container_name: authelia
|
container_name: authelia
|
||||||
image: authelia/authelia:4.39.19@sha256:0c824dcab1ae97c56bf673c5e77fe8cc6bcd400564555140cc8002a12c6b6463
|
image: authelia/authelia:4.39.20@sha256:1b363e9279e742397966333f364e0876ae02bf5c876de73e83af6d48c57ff51b
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
AUTHELIA_JWT_SECRET_FILE: /secrets/jwt_secret.txt
|
AUTHELIA_JWT_SECRET_FILE: /secrets/jwt_secret.txt
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
vaultwarden:
|
vaultwarden:
|
||||||
image: vaultwarden/server:1.35.7@sha256:9a8eec71f4a52411cc43edc7a50f33e9b6f62b5baca0dd95f0c6e7fd60f1a341
|
image: vaultwarden/server:1.36.0@sha256:d626d04934cd1192ad8ced1adb975099fca78cec33ab467d2d3c923cde7f3b0c
|
||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v3.6@sha256:8cb20d16e01a53d8d7f7696ac2f1af7d200d5c9984d226ce2299731d9eab6d6c
|
image: traefik:v3.7@sha256:6b9cbca6fac42ab0075f5437d8dc1685cfd188626d8d515839ea94f8b6271c42
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
|
|||||||
Reference in New Issue
Block a user