Files
felhom.eu/documentation/audits/night-2026-09-23/chaos/round-11-controller.log
T
admin 3e58c184f6
gates / gates (push) Successful in 27s
night shift 2026-09-23: the record, the register, the morning note
DRILL-night-2026-09-23.md: Parts A-E. 09 §3 decisions 21 (operator word),
22 and 23 (CC unattended, operator may reverse); §6.4 parts 4 and 6
(catalog half) shipped; §6.1a residuals R-658/R-659. Register 330 -> 336:
R-651..R-660 opened (R-658 and R-659 P1), R-650/R-640/R-499/R-626 closed.
Capability map, nightly rotation (opengist), STATUS (one question: the
floor), CONTEXT, REPORT. The floor stays 0.266.0.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-24 00:24:04 +02:00

3001 lines
398 KiB
Plaintext

2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:23 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 91ms)
2026/09/23 21:40:26 router.go:1048: [INFO] [api] Manual catalog sync requested
2026/09/23 21:40:27 router.go:362: [INFO] [api] Manual stack rescan requested
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:27 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:27 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:27 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:27 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:27 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:27 router.go:369: [INFO] [api] Stack rescan completed: 55 stacks found
2026/09/23 21:40:32 router.go:1048: [INFO] [api] Manual catalog sync requested
2026/09/23 21:40:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (9 skipped not due, 0 skipped no container)
2026/09/23 21:40:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:40:33 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:33 router.go:362: [INFO] [api] Manual stack rescan requested
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:33 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:33 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:33 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:33 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:33 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:33 router.go:369: [INFO] [api] Stack rescan completed: 55 stacks found
2026/09/23 21:40:38 router.go:1048: [INFO] [api] Manual catalog sync requested
2026/09/23 21:40:39 router.go:362: [INFO] [api] Manual stack rescan requested
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:39 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:40 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:40 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:40 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:40 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:40 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:40 router.go:369: [INFO] [api] Stack rescan completed: 55 stacks found
2026/09/23 21:40:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:40:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (9 skipped not due, 0 skipped no container)
2026/09/23 21:40:43 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:45 router.go:1048: [INFO] [api] Manual catalog sync requested
2026/09/23 21:40:45 sync.go:208: [INFO] [sync] Starting catalog sync
2026/09/23 21:40:45 sync.go:296: [INFO] [sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-drill.git (branch: main)
2026/09/23 21:40:45 sync.go:298: [DEBUG] [sync] git fetch --depth 1 origin main in /opt/docker/felhom-controller/data/catalog-cache
2026/09/23 21:40:45 sync.go:592: [DEBUG] [sync] Running: git fetch --depth 1 origin main
2026/09/23 21:40:45 sync.go:592: [DEBUG] [sync] Running: git reset --hard origin/main
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] actualbudget/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] actualbudget/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] adventurelog/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] adventurelog/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] audiobookshelf/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] audiobookshelf/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] bentopdf/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] bentopdf/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] bookstack/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] bookstack/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] calcom/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] calcom/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] calibre-web/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] calibre-web/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] claper/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] claper/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] code-server/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] code-server/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] crafty-controller/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] crafty-controller/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] docmost/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] docmost/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] emby/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] emby/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] ghost/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] ghost/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gitea/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gitea/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] glance/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] glance/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gokapi/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gokapi/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] grafana/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] grafana/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gramps-web/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] gramps-web/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] home-assistant/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] home-assistant/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] homebox/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] homebox/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] homepage/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] homepage/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] immich/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] immich/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] jellyfin/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] jellyfin/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] kimai/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] kimai/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] komga/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] komga/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] mealie/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] mealie/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] n8n/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] n8n/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] navidrome/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] navidrome/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:509: [DEBUG] [sync] nextcloud: catalog has moved past the pin — rendering the stored applied definition
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] nextcloud/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:396: [INFO] [sync] Updated nextcloud/.felhom.yml
2026/09/23 21:40:45 sync.go:541: [DEBUG] [sync] nextcloud/.felhom.yml: src=665afc1dcb53324c, dst=665afc1dcb53324c (changed)
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] onlyoffice/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] onlyoffice/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] opengist/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] opengist/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] outline/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] outline/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] paperless-ngx/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] paperless-ngx/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] papra/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] papra/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] plant-it/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] plant-it/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] plex/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] plex/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] privatebin/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] privatebin/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] radarr/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] radarr/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] rallly/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] rallly/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] recipe-importer/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] recipe-importer/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:509: [DEBUG] [sync] romm: catalog has moved past the pin — rendering the stored applied definition
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] romm/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] romm/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] seerr/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] seerr/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] sonarr/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] sonarr/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] sparkyfitness/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] sparkyfitness/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] tandoor/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] tandoor/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] termix/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] termix/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] uptime-kuma/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] uptime-kuma/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] vaultwarden/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] vaultwarden/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] vikunja/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] vikunja/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wanderer/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wanderer/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wger/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wger/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wishlist/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] wishlist/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] zipline/docker-compose.yml: hash match, skipped
2026/09/23 21:40:45 sync.go:416: [DEBUG] [sync] zipline/.felhom.yml: hash match, skipped
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:45 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:45 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:45 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:45 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:45 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:45 sync.go:244: [DEBUG] [sync] Post-sync hook: triggering missing field injection for 1 stack(s): [nextcloud]
2026/09/23 21:40:45 deploy.go:1104: [DEBUG] [stacks] InjectMissingFields: checking 1 stacks
2026/09/23 21:40:45 deploy.go:1126: [DEBUG] [stacks] InjectMissingFields: checking stack nextcloud — 7 deploy fields, 7 existing env vars
2026/09/23 21:40:45 deploy.go:1189: [INFO] [stacks] InjectMissingFields: processed 1 stacks
2026/09/23 21:40:45 sync.go:263: [INFO] [sync] Catalog sync complete
2026/09/23 21:40:45 router.go:1054: [INFO] [api] Catalog sync completed: Sablonok frissítve — frissítve: nextcloud
2026/09/23 21:40:46 router.go:362: [INFO] [api] Manual stack rescan requested
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:40:46 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:40:46 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:40:46 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:40:46 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:40:46 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:46 router.go:369: [INFO] [api] Stack rescan completed: 55 stacks found
2026/09/23 21:40:46 router.go:591: [INFO] [api] update requested for stack: nextcloud
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6473MB avail≈19425MB
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23037272 → total=25898MB avail=19425MB used=6473MB (25.0%)
2026/09/23 21:40:46 deploy.go:1250: [INFO] [stacks] Memory check: total=25898MB, reserved=384MB, usable=25514MB, committed_used=1310MB, new_req=256MB, remaining=23948MB
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=19.1 GB avail=45.8GB (27.9%)
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6481MB avail≈19417MB
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23026696 → total=25898MB avail=19417MB used=6481MB (25.0%)
2026/09/23 21:40:46 deploy.go:1250: [INFO] [stacks] Memory check: total=25898MB, reserved=384MB, usable=25514MB, committed_used=1310MB, new_req=256MB, remaining=23948MB
2026/09/23 21:40:46 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=19.1 GB avail=45.8GB (27.9%)
2026/09/23 21:40:46 update.go:488: [INFO] [stacks] update nextcloud: accepted — guarded update started
2026/09/23 21:40:46 update.go:1192: [INFO] [stacks] update nextcloud: phase checking
2026/09/23 21:40:46 update_guard.go:248: [DEBUG] [backup] update precondition for nextcloud: no Tier-2 copy (nincs másodlagos fájlmásolat ehhez az alkalmazáshoz)
2026/09/23 21:40:46 update.go:710: [INFO] [stacks] update nextcloud: precondition met — Tier 1 (own recovery unit) copy from 2026-09-23T20:55:33Z (45m0s old, limit 24h0m0s)
2026/09/23 21:40:46 update.go:1192: [INFO] [stacks] update nextcloud: phase safety-dump
2026/09/23 21:40:46 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/23 21:40:46 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: d6ac44f34971 vikunja vikunja vikunja/vikunja:2.5.0
8a54f14e8bb0 navidrome navidrome deluan/navidrome:0.64.0
9c3fff6d8323 romm romm rommapp/romm:5.3.1
581a28cd0e38 romm-db romm mariadb:11.4
f428c67086c0 romm-redis romm redis:7-alpine
f12b35ea40d5 privatebin privatebin privatebin/pdo:2.0.6
20daa65aee34 papra papra ghcr.io/papra-hq/papra:26.6.2-rootless
c916eed5d29a paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
c509e115095a paperless-postgres paperless-ngx postgres:1...
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.5.0, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container navidrome (image=deluan/navidrome:0.64.0, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm (image=rommapp/romm:5.3.1, not a database)
2026/09/23 21:40:46 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: romm-db (id=581a28cd0e38)
2026/09/23 21:40:46 dbdump.go:198: [DEBUG] DiscoverDatabases: romm-db → stack=romm, dbUser=root, dbName=romm
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm-redis (image=redis:7-alpine, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container privatebin (image=privatebin/pdo:2.0.6, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container papra (image=ghcr.io/papra-hq/papra:26.6.2-rootless, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/09/23 21:40:46 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=c509e115095a)
2026/09/23 21:40:46 dbdump.go:896: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/09/23 21:40:46 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud (image=nextcloud:34.0.1-apache, not a database)
2026/09/23 21:40:46 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: nextcloud-db (id=d1237ad5a22f)
2026/09/23 21:40:46 dbdump.go:198: [DEBUG] DiscoverDatabases: nextcloud-db → stack=nextcloud, dbUser=root, dbName=nextcloud
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud-redis (image=redis:7-alpine, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost (image=docmost/docmost:0.96.0, not a database)
2026/09/23 21:40:46 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: docmost-postgres (id=c981df80d790)
2026/09/23 21:40:46 dbdump.go:198: [DEBUG] DiscoverDatabases: docmost-postgres → stack=docmost, dbUser=docmost, dbName=docmost
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost-redis (image=redis:7-alpine, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog (image=ghcr.io/seanmorley15/adventurelog-backend:v0.12.1, not a database)
2026/09/23 21:40:46 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: adventurelog-postgres (id=5abd52db34b8)
2026/09/23 21:40:46 dbdump.go:198: [DEBUG] DiscoverDatabases: adventurelog-postgres → stack=adventurelog, dbUser=adventurelog, dbName=adventurelog
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog-frontend (image=ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.267.0, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/23 21:40:46 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/23 21:40:46 dbdump.go:205: [DEBUG] DiscoverDatabases: found 5 database(s), skipped 17 non-DB container(s)
2026/09/23 21:40:46 dbdump.go:208: [INFO] [backup] Discovered 5 databases
2026/09/23 21:40:46 dbdump.go:266: [DEBUG] DumpOne: starting dump for container=nextcloud-db, stack=nextcloud, dbType=mariadb, dest=/mnt/felhom-drives/scratch_hdd/userdata/nextcloud/backups/primary/nextcloud/db-dumps/pre-restore-20260923T214046Z-nextcloud-mariadb.sql
2026/09/23 21:40:46 dbdump.go:321: [DEBUG] DumpOne: mariadb-dump command: docker exec d1237ad5a22f mariadb-dump -u root -p*** --single-transaction --routines --triggers nextcloud
2026/09/23 21:40:47 dbdump.go:405: [DEBUG] DumpOne: completed nextcloud-db → pre-restore-20260923T214046Z-nextcloud-mariadb.sql (size=516.8 KB, valid=true, tables=131, duration=477ms)
2026/09/23 21:40:47 dbdump.go:410: [INFO] [backup] DB dump: nextcloud-db → pre-restore-20260923T214046Z-nextcloud-mariadb.sql (516.8 KB, 477ms, 131 tables)
2026/09/23 21:40:47 offbox_reconstitute.go:255: [INFO] [offbox] nextcloud: pre-restore safety dump written → pre-restore-20260923T214046Z-nextcloud-mariadb.sql (516.8 KB)
2026/09/23 21:40:47 update_guard.go:478: [INFO] [backup] update safety dump for nextcloud: 1 file(s) [/mnt/felhom-drives/scratch_hdd/userdata/nextcloud/backups/primary/nextcloud/db-dumps/pre-restore-20260923T214046Z-nextcloud-mariadb.sql]
2026/09/23 21:40:47 update.go:742: [INFO] [stacks] update nextcloud: safety dump done (1 file(s)) [/mnt/felhom-drives/scratch_hdd/userdata/nextcloud/backups/primary/nextcloud/db-dumps/pre-restore-20260923T214046Z-nextcloud-mariadb.sql]
2026/09/23 21:40:48 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=19.1 GB avail=45.8GB (27.9%)
2026/09/23 21:40:48 undo.go:252: [INFO] [stacks] update nextcloud: the undo copy will hold 3 named volume(s), 910.1 MiB
2026/09/23 21:40:48 update.go:1192: [INFO] [stacks] update nextcloud: phase pinning
2026/09/23 21:40:48 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/nextcloud — 7 env vars, 0 encrypted, 3 sensitive fields
2026/09/23 21:40:48 [INFO] [stacks] SaveAppConfig: saved config for nextcloud
2026/09/23 21:40:48 pin.go:365: [INFO] [stacks] update nextcloud: pin advanced to the catalog's current definition (nextcloud=nextcloud:34.0.4-apache, nextcloud-db=mariadb:12.3, nextcloud-redis=redis:7-alpine)
2026/09/23 21:40:48 update.go:1192: [INFO] [stacks] update nextcloud: phase pulling
2026/09/23 21:40:48 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/23 21:40:48 manager.go:1428: [DEBUG] Running: docker compose pull (in /opt/docker/stacks/nextcloud)
2026/09/23 21:40:50 manager.go:1448: [DEBUG] Command completed: docker compose pull (took 1.2s)
2026/09/23 21:40:50 update.go:1192: [INFO] [stacks] update nextcloud: phase copying
2026/09/23 21:40:50 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/23 21:40:50 manager.go:1428: [DEBUG] Running: docker compose stop (in /opt/docker/stacks/nextcloud)
2026/09/23 21:40:51 manager.go:1448: [DEBUG] Command completed: docker compose stop (took 1.6s)
2026/09/23 21:40:51 update.go:1192: [INFO] [stacks] update nextcloud: phase copying
2026/09/23 21:40:52 undo.go:279: [INFO] [stacks] update nextcloud: copied nextcloud_nextcloud_db_data → nextcloud_nextcloud_db_data.pre-update-20260923T214051Z in 925ms
2026/09/23 21:40:52 update.go:1192: [INFO] [stacks] update nextcloud: phase copying
2026/09/23 21:40:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:40:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:40:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:40:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:40:53 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:40:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:40:59 undo.go:279: [INFO] [stacks] update nextcloud: copied nextcloud_nextcloud_html → nextcloud_nextcloud_html.pre-update-20260923T214051Z in 6.474s
2026/09/23 21:40:59 update.go:1192: [INFO] [stacks] update nextcloud: phase copying
2026/09/23 21:40:59 undo.go:279: [INFO] [stacks] update nextcloud: copied nextcloud_nextcloud_redis_data → nextcloud_nextcloud_redis_data.pre-update-20260923T214051Z in 442ms
2026/09/23 21:40:59 update.go:1192: [INFO] [stacks] update nextcloud: phase starting
2026/09/23 21:40:59 manager.go:387: [INFO] [stacks] userdata belt: drive /mnt/felhom-drives/scratch_hdd/userdata/nextcloud not mounted — skipping ensure (held by drive gate)
2026/09/23 21:40:59 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/23 21:40:59 manager.go:1428: [DEBUG] Running: docker compose up -d --remove-orphans (in /opt/docker/stacks/nextcloud)
2026/09/23 21:41:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:03 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:03 manager.go:816: [DEBUG] [stacks] restart-policy of down member "nextcloud" = "unless-stopped"
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (9 skipped not due, 0 skipped no container)
2026/09/23 21:41:05 manager.go:1448: [DEBUG] Command completed: docker compose up -d --remove-orphans (took 6.2s)
2026/09/23 21:41:05 update.go:1192: [INFO] [stacks] update nextcloud: phase verifying
2026/09/23 21:41:05 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:10 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:13 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:41:15 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:20 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6448MB avail≈19450MB
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23067028 → total=25898MB avail=19450MB used=6448MB (24.9%)
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.03 1.11 1.11 4/1778 6779" → 1m=2.03 5m=1.11 15m=1.11
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] GetInfo done in 68ms — mem=6448MB/25898MB (24.9%), rootDisk=20.0GB/68.4GB (29.3%), load=2.03/1.11/1.11, temp=49.9°C (hwmon1), cpu=14.5%
2026/09/23 21:41:22 scheduler.go:346: [INFO] [scheduler] Running job: system-health
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job system-health: execution starting
2026/09/23 21:41:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:41:22 scheduler.go:346: [INFO] [scheduler] Running job: offsite-credential-retry
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/09/23 21:41:22 scheduler.go:363: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/09/23 21:41:22 scheduler.go:346: [INFO] [scheduler] Running job: backup-cache
2026/09/23 21:41:22 scheduler.go:67: [DEBUG] [scheduler] job backup-cache: execution starting
2026/09/23 21:41:23 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:41:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/navidrome → [navidrome]
2026/09/23 21:41:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/nextcloud → [nextcloud]
2026/09/23 21:41:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/09/23 21:41:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/romm → [romm]
2026/09/23 21:41:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [actualbudget, adventurelog, docmost, gokapi, papra, privatebin, vikunja]
2026/09/23 21:41:23 settings.go:815: [DEBUG] [settings] saved to /opt/docker/felhom-controller/data/settings.json (11773 bytes)
2026/09/23 21:41:23 settings.go:818: [INFO] [settings] Settings saved
2026/09/23 21:41:23 backup.go:1117: [INFO] [backup] Found 9 DB dump files across drives
2026/09/23 21:41:23 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6469MB avail≈19429MB
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23041044 → total=25898MB avail=19429MB used=6469MB (25.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.95 1.11 1.11 7/1801 6842" → 1m=1.95 5m=1.11 15m=1.11
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 57.0°C (hwmon2)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetInfo done in 82ms — mem=6469MB/25898MB (25.0%), rootDisk=20.0GB/68.4GB (29.3%), load=1.95/1.11/1.11, temp=57.0°C (hwmon2), cpu=18.3%
2026/09/23 21:41:23 healthcheck.go:86: [DEBUG] [monitor] Raw values: disk=29.3%, hdd=11.0% (configured=true), mem=25.0% (6469MB/25898MB), cpu=18.3%, temp=57.0°C (hwmon2)
2026/09/23 21:41:23 healthcheck.go:118: [DEBUG] [monitor] SSD disk: OK (29%)
2026/09/23 21:41:23 healthcheck.go:151: [DEBUG] [monitor] Memory: OK (25%)
2026/09/23 21:41:23 healthcheck.go:169: [DEBUG] [monitor] CPU: OK (18%)
2026/09/23 21:41:23 healthcheck.go:187: [DEBUG] [monitor] Temperature: OK (57°C)
2026/09/23 21:41:23 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 3381ff86c786 nextcloud nextcloud nextcloud:34.0.4-apache
d6ac44f34971 vikunja vikunja vikunja/vikunja:2.5.0
8a54f14e8bb0 navidrome navidrome deluan/navidrome:0.64.0
9c3fff6d8323 romm romm rommapp/romm:5.3.1
581a28cd0e38 romm-db romm mariadb:11.4
f428c67086c0 romm-redis romm redis:7-alpine
f12b35ea40d5 privatebin privatebin privatebin/pdo:2.0.6
20daa65aee34 papra papra ghcr.io/papra-hq/papra:26.6.2-rootless
c916eed5d29a paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15...
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud (image=nextcloud:34.0.4-apache, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.5.0, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container navidrome (image=deluan/navidrome:0.64.0, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm (image=rommapp/romm:5.3.1, not a database)
2026/09/23 21:41:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: romm-db (id=581a28cd0e38)
2026/09/23 21:41:23 dbdump.go:198: [DEBUG] DiscoverDatabases: romm-db → stack=romm, dbUser=root, dbName=romm
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container privatebin (image=privatebin/pdo:2.0.6, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container papra (image=ghcr.io/papra-hq/papra:26.6.2-rootless, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/09/23 21:41:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=c509e115095a)
2026/09/23 21:41:23 dbdump.go:896: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/09/23 21:41:23 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: nextcloud-db (id=d1237ad5a22f)
2026/09/23 21:41:23 healthcheck.go:201: [DEBUG] [monitor] Docker daemon: OK
2026/09/23 21:41:23 healthcheck.go:209: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/09/23 21:41:23 dbdump.go:198: [DEBUG] DiscoverDatabases: nextcloud-db → stack=nextcloud, dbUser=root, dbName=nextcloud
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost (image=docmost/docmost:0.96.0, not a database)
2026/09/23 21:41:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: docmost-postgres (id=c981df80d790)
2026/09/23 21:41:23 healthcheck.go:219: [DEBUG] [monitor] All protected containers running
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 healthcheck.go:238: [INFO] [monitor] Health check: status=warn
2026/09/23 21:41:23 healthcheck.go:242: [DEBUG] [monitor] Final status: warn (issues=0, warnings=4, info=5)
2026/09/23 21:41:23 notifier.go:1259: [DEBUG] notifier disabled: dropped event health_change (severity warning)
2026/09/23 21:41:23 scheduler.go:363: [INFO] [scheduler] Job system-health completed (took 162ms)
2026/09/23 21:41:23 dbdump.go:198: [DEBUG] DiscoverDatabases: docmost-postgres → stack=docmost, dbUser=docmost, dbName=docmost
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog (image=ghcr.io/seanmorley15/adventurelog-backend:v0.12.1, not a database)
2026/09/23 21:41:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: adventurelog-postgres (id=5abd52db34b8)
2026/09/23 21:41:23 dbdump.go:198: [DEBUG] DiscoverDatabases: adventurelog-postgres → stack=adventurelog, dbUser=adventurelog, dbName=adventurelog
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog-frontend (image=ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.267.0, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/23 21:41:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/23 21:41:23 dbdump.go:205: [DEBUG] DiscoverDatabases: found 5 database(s), skipped 17 non-DB container(s)
2026/09/23 21:41:23 dbdump.go:208: [INFO] [backup] Discovered 5 databases
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:41:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:41:23 [INFO] [backup] Discovered app data: 11 apps
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 infra.go:67: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:41:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:23 backup.go:1187: [INFO] [backup] Backup status cache refreshed
2026/09/23 21:41:23 scheduler.go:363: [INFO] [scheduler] Job backup-cache completed (took 234ms)
2026/09/23 21:41:25 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:30 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:41:33 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:36 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:36 healthprobe.go:190: [WARN] Health probe nextcloud: API GET :8999/status.php → Get "http://nextcloud:8999/status.php": dial tcp 172.18.0.3:8999: connect: connection refused
2026/09/23 21:41:37 router.go:591: [INFO] [api] update requested for stack: romm
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6439MB avail≈19459MB
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23077072 → total=25898MB avail=19459MB used=6439MB (24.9%)
2026/09/23 21:41:37 deploy.go:1250: [INFO] [stacks] Memory check: total=25898MB, reserved=384MB, usable=25514MB, committed_used=1266MB, new_req=300MB, remaining=23948MB
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6445MB avail≈19453MB
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23070468 → total=25898MB avail=19453MB used=6445MB (24.9%)
2026/09/23 21:41:37 deploy.go:1250: [INFO] [stacks] Memory check: total=25898MB, reserved=384MB, usable=25514MB, committed_used=1266MB, new_req=300MB, remaining=23948MB
2026/09/23 21:41:37 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:37 update.go:488: [INFO] [stacks] update romm: accepted — guarded update started
2026/09/23 21:41:37 update.go:1192: [INFO] [stacks] update romm: phase checking
2026/09/23 21:41:37 update_guard.go:248: [DEBUG] [backup] update precondition for romm: no Tier-2 copy (nincs másodlagos fájlmásolat ehhez az alkalmazáshoz)
2026/09/23 21:41:37 update.go:710: [INFO] [stacks] update romm: precondition met — Tier 1 (own recovery unit) copy from 2026-09-23T20:56:12Z (45m0s old, limit 24h0m0s)
2026/09/23 21:41:37 update.go:1192: [INFO] [stacks] update romm: phase safety-dump
2026/09/23 21:41:37 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/23 21:41:37 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 3381ff86c786 nextcloud nextcloud nextcloud:34.0.4-apache
d6ac44f34971 vikunja vikunja vikunja/vikunja:2.5.0
8a54f14e8bb0 navidrome navidrome deluan/navidrome:0.64.0
9c3fff6d8323 romm romm rommapp/romm:5.3.1
581a28cd0e38 romm-db romm mariadb:11.4
f428c67086c0 romm-redis romm redis:7-alpine
f12b35ea40d5 privatebin privatebin privatebin/pdo:2.0.6
20daa65aee34 papra papra ghcr.io/papra-hq/papra:26.6.2-rootless
c916eed5d29a paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15...
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud (image=nextcloud:34.0.4-apache, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.5.0, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container navidrome (image=deluan/navidrome:0.64.0, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm (image=rommapp/romm:5.3.1, not a database)
2026/09/23 21:41:37 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: romm-db (id=581a28cd0e38)
2026/09/23 21:41:37 dbdump.go:198: [DEBUG] DiscoverDatabases: romm-db → stack=romm, dbUser=root, dbName=romm
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container privatebin (image=privatebin/pdo:2.0.6, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container papra (image=ghcr.io/papra-hq/papra:26.6.2-rootless, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/09/23 21:41:37 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=c509e115095a)
2026/09/23 21:41:37 dbdump.go:896: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/09/23 21:41:37 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:37 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: nextcloud-db (id=d1237ad5a22f)
2026/09/23 21:41:37 dbdump.go:198: [DEBUG] DiscoverDatabases: nextcloud-db → stack=nextcloud, dbUser=root, dbName=nextcloud
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container nextcloud-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost (image=docmost/docmost:0.96.0, not a database)
2026/09/23 21:41:37 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: docmost-postgres (id=c981df80d790)
2026/09/23 21:41:37 dbdump.go:198: [DEBUG] DiscoverDatabases: docmost-postgres → stack=docmost, dbUser=docmost, dbName=docmost
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost-redis (image=redis:7-alpine, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog (image=ghcr.io/seanmorley15/adventurelog-backend:v0.12.1, not a database)
2026/09/23 21:41:37 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: adventurelog-postgres (id=5abd52db34b8)
2026/09/23 21:41:37 dbdump.go:198: [DEBUG] DiscoverDatabases: adventurelog-postgres → stack=adventurelog, dbUser=adventurelog, dbName=adventurelog
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog-frontend (image=ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.267.0, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/23 21:41:37 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/23 21:41:37 dbdump.go:205: [DEBUG] DiscoverDatabases: found 5 database(s), skipped 17 non-DB container(s)
2026/09/23 21:41:37 dbdump.go:208: [INFO] [backup] Discovered 5 databases
2026/09/23 21:41:37 dbdump.go:266: [DEBUG] DumpOne: starting dump for container=romm-db, stack=romm, dbType=mariadb, dest=/mnt/felhom-drives/scratch_hdd/userdata/romm/backups/primary/romm/db-dumps/pre-restore-20260923T214137Z-romm-mariadb.sql
2026/09/23 21:41:37 dbdump.go:321: [DEBUG] DumpOne: mariadb-dump command: docker exec 581a28cd0e38 mariadb-dump -u root -p*** --single-transaction --routines --triggers romm
2026/09/23 21:41:38 dbdump.go:405: [DEBUG] DumpOne: completed romm-db → pre-restore-20260923T214137Z-romm-mariadb.sql (size=110.2 KB, valid=true, tables=36, duration=306ms)
2026/09/23 21:41:38 dbdump.go:410: [INFO] [backup] DB dump: romm-db → pre-restore-20260923T214137Z-romm-mariadb.sql (110.2 KB, 306ms, 36 tables)
2026/09/23 21:41:38 offbox_reconstitute.go:255: [INFO] [offbox] romm: pre-restore safety dump written → pre-restore-20260923T214137Z-romm-mariadb.sql (110.2 KB)
2026/09/23 21:41:38 update_guard.go:478: [INFO] [backup] update safety dump for romm: 1 file(s) [/mnt/felhom-drives/scratch_hdd/userdata/romm/backups/primary/romm/db-dumps/pre-restore-20260923T214137Z-romm-mariadb.sql]
2026/09/23 21:41:38 update.go:742: [INFO] [stacks] update romm: safety dump done (1 file(s)) [/mnt/felhom-drives/scratch_hdd/userdata/romm/backups/primary/romm/db-dumps/pre-restore-20260923T214137Z-romm-mariadb.sql]
2026/09/23 21:41:39 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:41:39 undo.go:252: [INFO] [stacks] update romm: the undo copy will hold 3 named volume(s), 183.7 MiB
2026/09/23 21:41:39 update.go:1192: [INFO] [stacks] update romm: phase pinning
2026/09/23 21:41:39 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/romm — 6 env vars, 0 encrypted, 3 sensitive fields
2026/09/23 21:41:39 [INFO] [stacks] SaveAppConfig: saved config for romm
2026/09/23 21:41:39 pin.go:365: [INFO] [stacks] update romm: pin advanced to the catalog's current definition (romm=rommapp/romm:5.3.1, romm-db=mariadb:11.8, romm-redis=redis:7-alpine)
2026/09/23 21:41:39 update.go:1192: [INFO] [stacks] update romm: phase pulling
2026/09/23 21:41:39 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, ROMM_AUTH_SECRET_KEY, SUBDOMAIN, USERDATA_PATH, IMPORT_PATH] (13 app + 0 system)
2026/09/23 21:41:39 manager.go:1428: [DEBUG] Running: docker compose pull (in /opt/docker/stacks/romm)
2026/09/23 21:41:40 manager.go:1448: [DEBUG] Command completed: docker compose pull (took 1.2s)
2026/09/23 21:41:40 update.go:1192: [INFO] [stacks] update romm: phase copying
2026/09/23 21:41:40 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, ROMM_AUTH_SECRET_KEY, SUBDOMAIN, USERDATA_PATH, IMPORT_PATH] (13 app + 0 system)
2026/09/23 21:41:40 manager.go:1428: [DEBUG] Running: docker compose stop (in /opt/docker/stacks/romm)
2026/09/23 21:41:41 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:43 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 7s ago, effective interval 10s, healthy=false
2026/09/23 21:41:43 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (9 skipped not due, 0 skipped no container)
2026/09/23 21:41:46 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:46 manager.go:816: [DEBUG] [stacks] restart-policy of down member "romm" = "unless-stopped"
2026/09/23 21:41:46 manager.go:1448: [DEBUG] Command completed: docker compose stop (took 5.4s)
2026/09/23 21:41:46 update.go:1192: [INFO] [stacks] update romm: phase copying
2026/09/23 21:41:46 undo.go:279: [INFO] [stacks] update romm: copied romm_romm_config → romm_romm_config.pre-update-20260923T214146Z in 446ms
2026/09/23 21:41:46 update.go:1192: [INFO] [stacks] update romm: phase copying
2026/09/23 21:41:47 undo.go:279: [INFO] [stacks] update romm: copied romm_romm_db_data → romm_romm_db_data.pre-update-20260923T214146Z in 990ms
2026/09/23 21:41:47 update.go:1192: [INFO] [stacks] update romm: phase copying
2026/09/23 21:41:48 undo.go:279: [INFO] [stacks] update romm: copied romm_romm_redis_data → romm_romm_redis_data.pre-update-20260923T214146Z in 470ms
2026/09/23 21:41:48 update.go:1192: [INFO] [stacks] update romm: phase starting
2026/09/23 21:41:48 manager.go:387: [INFO] [stacks] userdata belt: drive /mnt/felhom-drives/scratch_hdd/userdata/romm not mounted — skipping ensure (held by drive gate)
2026/09/23 21:41:48 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, ROMM_AUTH_SECRET_KEY, SUBDOMAIN, USERDATA_PATH, IMPORT_PATH] (13 app + 0 system)
2026/09/23 21:41:48 manager.go:1428: [DEBUG] Running: docker compose up -d --remove-orphans (in /opt/docker/stacks/romm)
2026/09/23 21:41:51 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:41:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:41:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:41:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:41:53 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:41:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:41:53 healthprobe.go:190: [WARN] Health probe nextcloud: API GET :8999/status.php → Get "http://nextcloud:8999/status.php": dial tcp 172.18.0.3:8999: connect: connection refused
2026/09/23 21:41:53 healthprobe.go:159: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/09/23 21:41:56 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:01 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:03 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 10s ago, effective interval 10s, healthy=false
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (9 skipped not due, 0 skipped no container)
2026/09/23 21:42:04 manager.go:1448: [DEBUG] Command completed: docker compose up -d --remove-orphans (took 16.2s)
2026/09/23 21:42:04 update.go:1192: [INFO] [stacks] update romm: phase verifying
2026/09/23 21:42:04 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:06 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:09 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:11 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 4 targets (4 skipped not due, 0 skipped no container)
2026/09/23 21:42:12 healthprobe.go:190: [WARN] Health probe nextcloud: API GET :8999/status.php → Get "http://nextcloud:8999/status.php": dial tcp 172.18.0.3:8999: connect: connection refused
2026/09/23 21:42:12 healthprobe.go:181: [DEBUG] Health probe navidrome: API GET :4533/ping → 200 (1ms)
2026/09/23 21:42:12 healthprobe.go:181: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (2ms)
2026/09/23 21:42:12 healthprobe.go:181: [DEBUG] Health probe privatebin: HTTP GET :8080/ → 200 (4ms)
2026/09/23 21:42:13 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:13 healthprobe.go:159: [WARN] Health probes: 3 ok, 1 unhealthy (of 4 probed)
2026/09/23 21:42:14 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:16 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:19 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:21 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈5937MB avail≈19961MB
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23672816 → total=25898MB avail=19961MB used=5937MB (22.9%)
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.2GB avail=44.6GB (29.6%)
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.86 1.24 1.16 5/1754 7639" → 1m=1.86 5m=1.24 15m=1.16
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 53.5°C (hwmon2)
2026/09/23 21:42:22 info.go:13: [DEBUG] [system] GetInfo done in 67ms — mem=5937MB/25898MB (22.9%), rootDisk=20.2GB/68.4GB (29.6%), load=1.86/1.24/1.16, temp=53.5°C (hwmon2), cpu=19.6%
2026/09/23 21:42:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:42:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:42:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:42:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:42:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:42:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:42:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:42:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:42:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:42:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:42:23 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 71ms)
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 2 targets (6 skipped not due, 0 skipped no container)
2026/09/23 21:42:23 healthprobe.go:190: [WARN] Health probe nextcloud: API GET :8999/status.php → Get "http://nextcloud:8999/status.php": dial tcp 172.18.0.3:8999: connect: connection refused
2026/09/23 21:42:23 healthprobe.go:181: [DEBUG] Health probe papra: HTTP GET :1221/ → 200 (4ms)
2026/09/23 21:42:23 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:23 healthprobe.go:159: [WARN] Health probes: 1 ok, 1 unhealthy (of 2 probed)
2026/09/23 21:42:24 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:26 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:29 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:31 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping nextcloud — last check 10s ago, effective interval 10s, healthy=false
2026/09/23 21:42:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:42:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:33 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:34 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:36 manager.go:734: [INFO] [stacks] Status refresh: 22 containers across 55 stacks
2026/09/23 21:42:36 update.go:904: [ERROR] [stacks] update nextcloud FAILED after the new version was started: not healthy: not healthy within 1m30s (last: state unhealthy)
2026/09/23 21:42:36 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/23 21:42:36 manager.go:1428: [DEBUG] Running: docker compose logs --no-color --tail 400 (in /opt/docker/stacks/nextcloud)
2026/09/23 21:42:36 manager.go:1448: [DEBUG] Command completed: docker compose logs --no-color --tail 400 (took 0.1s)
2026/09/23 21:42:36 update.go:896: [INFO] [stacks] update nextcloud: kept 21737 bytes of the app's own log at /opt/docker/stacks/nextcloud/hold-logs/20260923T214236Z/compose-logs.txt before stopping it (R-621)
2026/09/23 21:42:36 update.go:1192: [INFO] [stacks] update nextcloud: phase undoing
2026/09/23 21:42:36 undo.go:357: [WARN] [stacks] update nextcloud: UNDO — putting back the previous version and its 3 volume copy(ies) (reason: not healthy: not healthy within 1m30s (last: state unhealthy))
2026/09/23 21:42:36 manager.go:1419: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, HDD_PATH, MYSQL_ROOT_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_ADMIN_USER, SUBDOMAIN, DB_PASSWORD, DOMAIN, USERDATA_PATH, IMPORT_PATH] (14 app + 0 system)
2026/09/23 21:42:36 manager.go:1428: [DEBUG] Running: docker compose down (in /opt/docker/stacks/nextcloud)
2026/09/23 21:42:38 manager.go:1448: [DEBUG] Command completed: docker compose down (took 2.2s)
2026/09/23 21:42:39 manager.go:1467: [ERROR] [stacks] execCommand failed: exit status 1
2026/09/23 21:42:39 undo.go:363: [ERROR] [stacks] update nextcloud: the undo copy nextcloud_nextcloud_db_data.pre-update-20260923T214051Z has no finished-marker — it is cut off or missing; NOTHING is put back
2026/09/23 21:42:39 update.go:916: [ERROR] [stacks] update nextcloud: the UNDO failed too (untouched) — HOLDING the app; the undo copies are kept: [{nextcloud_nextcloud_db_data nextcloud_nextcloud_db_data.pre-update-20260923T214051Z} {nextcloud_nextcloud_html nextcloud_nextcloud_html.pre-update-20260923T214051Z} {nextcloud_nextcloud_redis_data nextcloud_nextcloud_redis_data.pre-update-20260923T214051Z}]
2026/09/23 21:42:39 settings.go:1773: [WARN] [settings] restore hold SET for nextcloud — the app stays stopped until it is cleared
2026/09/23 21:42:39 settings.go:815: [DEBUG] [settings] saved to /opt/docker/felhom-controller/data/settings.json (12113 bytes)
2026/09/23 21:42:39 settings.go:818: [INFO] [settings] Settings saved
2026/09/23 21:42:39 update_guard.go:560: [WARN] [backup] nextcloud is HELD STOPPED after a failed update (restore point: tier 1 "saját meghajtó", 2026-09-23T20:55:33Z; holds: "csak a beállításokat és az adatbázist tartalmazza, a fájlokat nem"; undo: "untouched")
2026/09/23 21:42:39 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:42:39 undo.go:475: [INFO] [stacks] update nextcloud: event app_update_held (hold recorded: true)
2026/09/23 21:42:39 notifier.go:1255: [WARN] notifier disabled (no hub configured): DROPPED event app_update_held (severity error) — further app_update_held events are logged at DEBUG only
2026/09/23 21:42:39 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:42:39 healthprobe.go:181: [DEBUG] Health probe romm: HTTP GET :8080/ → 200 (1ms)
2026/09/23 21:42:39 update.go:863: [INFO] [stacks] update romm: healthy after 35s (the app's health check passed)
2026/09/23 21:42:39 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/romm — 6 env vars, 0 encrypted, 3 sensitive fields
2026/09/23 21:42:39 [INFO] [stacks] SaveAppConfig: saved config for romm
2026/09/23 21:42:39 installed.go:409: [INFO] [stacks] installed-images romm: recorded 3 service(s) (romm=rommapp/romm:5.3.1 (sha256:0d66b4ea152a…), romm-db=mariadb:11.8 (sha256:79d59758afc9…), romm-redis=redis:7-alpine (sha256:858f009f9709…))
2026/09/23 21:42:39 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:42:39 update.go:871: [INFO] [stacks] update romm: DONE in 1m2s
2026/09/23 21:42:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 2 targets (6 skipped not due, 0 skipped no container)
2026/09/23 21:42:42 healthprobe.go:181: [DEBUG] Health probe docmost: HTTP GET :3000/ → 200 (2ms)
2026/09/23 21:42:42 healthprobe.go:181: [DEBUG] Health probe adventurelog: API GET :8000/api/ → 200 (4ms)
2026/09/23 21:42:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:42:43 healthprobe.go:161: [INFO] Health probes: 2 ok (of 2 probed)
2026/09/23 21:42:50 server.go:545: [DEBUG] [web] ServeHTTP: GET /apps/nextcloud from 172.18.0.9:46156
2026/09/23 21:42:50 server.go:545: [DEBUG] [web] ServeHTTP: GET /apps/nextcloud from 172.18.0.9:46156
2026/09/23 21:42:50 server.go:545: [DEBUG] [web] ServeHTTP: GET /apps/nextcloud from 172.18.0.9:46156
2026/09/23 21:42:50 server.go:545: [DEBUG] [web] ServeHTTP: GET /apps/nextcloud from 172.18.0.9:46156
2026/09/23 21:42:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:42:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:42:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:42:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:42:52 notifier.go:1259: [DEBUG] notifier disabled: dropped event app_start_failed (severity warning)
2026/09/23 21:42:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 13s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:42:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:43:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 23s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:43:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 33s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (7 skipped not due, 0 skipped no container)
2026/09/23 21:43:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:12 healthprobe.go:181: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (4ms)
2026/09/23 21:43:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:13 healthprobe.go:161: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6232MB avail≈19666MB
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23323488 → total=25898MB avail=19666MB used=6232MB (24.1%)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.00 1.44 1.23 3/1726 8007" → 1m=2.00 5m=1.44 15m=1.23
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 48.9°C (hwmon1)
2026/09/23 21:43:22 info.go:13: [DEBUG] [system] GetInfo done in 59ms — mem=6232MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=2.00/1.44/1.23, temp=48.9°C (hwmon1), cpu=5.7%
2026/09/23 21:43:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:43:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:43:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 43s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:43:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 53s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:43:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m3s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:43:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:43:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:43:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:43:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:43:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m13s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:43:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m23s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m33s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6214MB avail≈19684MB
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23344400 → total=25898MB avail=19684MB used=6214MB (24.0%)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.04 1.27 1.19 2/1723 8146" → 1m=1.04 5m=1.27 15m=1.19
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 48.9°C (hwmon1)
2026/09/23 21:44:22 info.go:13: [DEBUG] [system] GetInfo done in 60ms — mem=6214MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=1.04/1.27/1.19, temp=48.9°C (hwmon1), cpu=5.3%
2026/09/23 21:44:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:44:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:44:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:44:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:44:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m43s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:44:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:44:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:44:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:44:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:44:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 92ms)
2026/09/23 21:44:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m53s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m3s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:43 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:44:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:44:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:44:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:44:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:44:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m13s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:44:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m23s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m33s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6234MB avail≈19664MB
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23320624 → total=25898MB avail=19664MB used=6234MB (24.1%)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.99 1.23 1.18 5/1723 8298" → 1m=0.99 5m=1.23 15m=1.18
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:45:22 info.go:13: [DEBUG] [system] GetInfo done in 61ms — mem=6234MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.99/1.23/1.18, temp=49.9°C (hwmon1), cpu=5.8%
2026/09/23 21:45:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:45:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:45:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m43s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m53s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:33 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m3s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:45:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:45:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:45:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:45:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:45:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m13s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:45:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m23s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m33s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6221MB avail≈19677MB
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23335044 → total=25898MB avail=19677MB used=6221MB (24.0%)
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.75 1.12 1.14 2/1713 8437" → 1m=0.75 5m=1.12 15m=1.14
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] GetInfo done in 64ms — mem=6221MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.75/1.12/1.14, temp=49.9°C (hwmon1), cpu=4.6%
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:46:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:22 scheduler.go:346: [INFO] [scheduler] Running job: system-health
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job system-health: execution starting
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:46:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:46:22 scheduler.go:346: [INFO] [scheduler] Running job: offsite-credential-retry
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/09/23 21:46:22 scheduler.go:363: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:22 scheduler.go:346: [INFO] [scheduler] Running job: backup-cache
2026/09/23 21:46:22 scheduler.go:67: [DEBUG] [scheduler] job backup-cache: execution starting
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:46:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:46:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:46:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:46:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:46:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6240MB avail≈19658MB
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23314056 → total=25898MB avail=19658MB used=6240MB (24.1%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.69 1.10 1.14 4/1734 8478" → 1m=0.69 5m=1.10 15m=1.14
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetInfo done in 68ms — mem=6240MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.69/1.10/1.14, temp=49.9°C (hwmon1), cpu=4.6%
2026/09/23 21:46:23 healthcheck.go:86: [DEBUG] [monitor] Raw values: disk=29.3%, hdd=11.0% (configured=true), mem=24.1% (6240MB/25898MB), cpu=4.6%, temp=49.9°C (hwmon1)
2026/09/23 21:46:23 healthcheck.go:118: [DEBUG] [monitor] SSD disk: OK (29%)
2026/09/23 21:46:23 healthcheck.go:151: [DEBUG] [monitor] Memory: OK (24%)
2026/09/23 21:46:23 healthcheck.go:169: [DEBUG] [monitor] CPU: OK (5%)
2026/09/23 21:46:23 healthcheck.go:187: [DEBUG] [monitor] Temperature: OK (50°C)
2026/09/23 21:46:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 73ms)
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m43s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/nextcloud → [nextcloud]
2026/09/23 21:46:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/09/23 21:46:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/romm → [romm]
2026/09/23 21:46:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [actualbudget, adventurelog, docmost, gokapi, papra, privatebin, vikunja]
2026/09/23 21:46:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/navidrome → [navidrome]
2026/09/23 21:46:23 settings.go:815: [DEBUG] [settings] saved to /opt/docker/felhom-controller/data/settings.json (12335 bytes)
2026/09/23 21:46:23 settings.go:818: [INFO] [settings] Settings saved
2026/09/23 21:46:23 backup.go:1117: [INFO] [backup] Found 10 DB dump files across drives
2026/09/23 21:46:23 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/23 21:46:23 healthcheck.go:201: [DEBUG] [monitor] Docker daemon: OK
2026/09/23 21:46:23 healthcheck.go:209: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/09/23 21:46:23 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 16089e1abac5 romm-db romm mariadb:11.8
d6ac44f34971 vikunja vikunja vikunja/vikunja:2.5.0
8a54f14e8bb0 navidrome navidrome deluan/navidrome:0.64.0
9c3fff6d8323 romm romm rommapp/romm:5.3.1
f428c67086c0 romm-redis romm redis:7-alpine
f12b35ea40d5 privatebin privatebin privatebin/pdo:2.0.6
20daa65aee34 papra papra ghcr.io/papra-hq/papra:26.6.2-rootless
c916eed5d29a paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
c509e115095a paperless-postgres paperless-ngx postgres:1...
2026/09/23 21:46:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: romm-db (id=16089e1abac5)
2026/09/23 21:46:23 dbdump.go:198: [DEBUG] DiscoverDatabases: romm-db → stack=romm, dbUser=root, dbName=romm
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.5.0, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container navidrome (image=deluan/navidrome:0.64.0, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm (image=rommapp/romm:5.3.1, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm-redis (image=redis:7-alpine, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container privatebin (image=privatebin/pdo:2.0.6, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container papra (image=ghcr.io/papra-hq/papra:26.6.2-rootless, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/09/23 21:46:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=c509e115095a)
2026/09/23 21:46:23 dbdump.go:896: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/09/23 21:46:23 healthcheck.go:219: [DEBUG] [monitor] All protected containers running
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 healthcheck.go:238: [INFO] [monitor] Health check: status=warn
2026/09/23 21:46:23 healthcheck.go:242: [DEBUG] [monitor] Final status: warn (issues=0, warnings=4, info=5)
2026/09/23 21:46:23 notifier.go:1259: [DEBUG] notifier disabled: dropped event health_change (severity warning)
2026/09/23 21:46:23 scheduler.go:363: [INFO] [scheduler] Job system-health completed (took 160ms)
2026/09/23 21:46:23 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost (image=docmost/docmost:0.96.0, not a database)
2026/09/23 21:46:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: docmost-postgres (id=c981df80d790)
2026/09/23 21:46:23 dbdump.go:198: [DEBUG] DiscoverDatabases: docmost-postgres → stack=docmost, dbUser=docmost, dbName=docmost
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost-redis (image=redis:7-alpine, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog (image=ghcr.io/seanmorley15/adventurelog-backend:v0.12.1, not a database)
2026/09/23 21:46:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: adventurelog-postgres (id=5abd52db34b8)
2026/09/23 21:46:23 infra.go:67: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/09/23 21:46:23 dbdump.go:198: [DEBUG] DiscoverDatabases: adventurelog-postgres → stack=adventurelog, dbUser=adventurelog, dbName=adventurelog
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog-frontend (image=ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.267.0, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/23 21:46:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/23 21:46:23 dbdump.go:205: [DEBUG] DiscoverDatabases: found 4 database(s), skipped 15 non-DB container(s)
2026/09/23 21:46:23 dbdump.go:208: [INFO] [backup] Discovered 4 databases
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:46:23 [INFO] [backup] Discovered app data: 11 apps
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:46:23 recovery_unit.go:224: [INFO] [backup] Recovery unit captured for romm → /mnt/felhom-drives/scratch_hdd/userdata/romm/backups/primary/romm (images=3, secrets-referenced=3, data_keys=0, portable-carried=3/3, withheld=0)
2026/09/23 21:46:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:46:23 backup.go:1187: [INFO] [backup] Backup status cache refreshed
2026/09/23 21:46:23 scheduler.go:363: [INFO] [scheduler] Job backup-cache completed (took 258ms)
2026/09/23 21:46:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m53s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:33 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m3s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:46:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:46:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:46:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m13s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:46:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:46:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m23s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:47:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m33s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 3 targets (5 skipped not due, 0 skipped no container)
2026/09/23 21:47:12 healthprobe.go:181: [DEBUG] Health probe navidrome: API GET :4533/ping → 200 (3ms)
2026/09/23 21:47:12 healthprobe.go:181: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (3ms)
2026/09/23 21:47:12 healthprobe.go:181: [DEBUG] Health probe privatebin: HTTP GET :8080/ → 200 (5ms)
2026/09/23 21:47:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:13 healthprobe.go:161: [INFO] Health probes: 3 ok (of 3 probed)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6217MB avail≈19681MB
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23340796 → total=25898MB avail=19681MB used=6217MB (24.0%)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.47 0.98 1.09 5/1730 8733" → 1m=0.47 5m=0.98 15m=1.09
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:47:22 info.go:13: [DEBUG] [system] GetInfo done in 70ms — mem=6217MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.47/0.98/1.09, temp=49.9°C (hwmon1), cpu=4.4%
2026/09/23 21:47:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:47:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m43s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:47:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:47:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:23 main.go:1934: [INFO] [deadapp] check alive: 80 scans since boot, 11 deployed app(s) evaluated, 2 currently down
2026/09/23 21:47:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m53s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (7 skipped not due, 0 skipped no container)
2026/09/23 21:47:32 healthprobe.go:181: [DEBUG] Health probe papra: HTTP GET :1221/ → 200 (4ms)
2026/09/23 21:47:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:33 healthprobe.go:161: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/23 21:47:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 3 targets (5 skipped not due, 0 skipped no container)
2026/09/23 21:47:42 healthprobe.go:181: [DEBUG] Health probe romm: HTTP GET :8080/ → 200 (1ms)
2026/09/23 21:47:42 healthprobe.go:181: [DEBUG] Health probe docmost: HTTP GET :3000/ → 200 (2ms)
2026/09/23 21:47:42 healthprobe.go:181: [DEBUG] Health probe adventurelog: API GET :8000/api/ → 200 (5ms)
2026/09/23 21:47:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:47:43 healthprobe.go:161: [INFO] Health probes: 3 ok (of 3 probed)
2026/09/23 21:47:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:47:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:47:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:47:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:47:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:48:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (7 skipped not due, 0 skipped no container)
2026/09/23 21:48:13 healthprobe.go:181: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (3ms)
2026/09/23 21:48:13 healthprobe.go:161: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6226MB avail≈19672MB
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23330084 → total=25898MB avail=19672MB used=6226MB (24.0%)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.44 0.89 1.05 3/1714 8869" → 1m=0.44 5m=0.89 15m=1.05
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:48:22 info.go:13: [DEBUG] [system] GetInfo done in 60ms — mem=6226MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.44/0.89/1.05, temp=49.9°C (hwmon1), cpu=4.2%
2026/09/23 21:48:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:48:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:48:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:48:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:48:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:48:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:48:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:48:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:48:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:48:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 93ms)
2026/09/23 21:48:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:33 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:48:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:48:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:48:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:48:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:48:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:48:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:48:53 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:49:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6234MB avail≈19664MB
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23321568 → total=25898MB avail=19664MB used=6234MB (24.1%)
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.77 0.88 1.04 3/1712 9016" → 1m=0.77 5m=0.88 15m=1.04
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:49:22 info.go:13: [DEBUG] [system] GetInfo done in 58ms — mem=6234MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.77/0.88/1.04, temp=49.9°C (hwmon1), cpu=4.3%
2026/09/23 21:49:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:49:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:49:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:49:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:49:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:49:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:49:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:49:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:49:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:49:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:49:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:02 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6224MB avail≈19674MB
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23332072 → total=25898MB avail=19674MB used=6224MB (24.0%)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.66 0.84 1.01 4/1711 9162" → 1m=0.66 5m=0.84 15m=1.01
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 48.9°C (hwmon1)
2026/09/23 21:50:22 info.go:13: [DEBUG] [system] GetInfo done in 58ms — mem=6224MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.66/0.84/1.01, temp=48.9°C (hwmon1), cpu=4.5%
2026/09/23 21:50:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:50:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:50:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:50:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:50:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:50:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:50:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:50:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:50:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 67ms)
2026/09/23 21:50:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:33 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:50:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:50:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:50:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:50:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:50:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:50:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:13 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:22 sync.go:208: [INFO] [sync] Starting catalog sync
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:51:22 sync.go:296: [INFO] [sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-drill.git (branch: main)
2026/09/23 21:51:22 sync.go:298: [DEBUG] [sync] git fetch --depth 1 origin main in /opt/docker/felhom-controller/data/catalog-cache
2026/09/23 21:51:22 sync.go:592: [DEBUG] [sync] Running: git fetch --depth 1 origin main
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6224MB avail≈19674MB
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23331880 → total=25898MB avail=19674MB used=6224MB (24.0%)
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.64 0.81 0.99 11/1714 9316" → 1m=0.64 5m=0.81 15m=0.99
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] GetInfo done in 73ms — mem=6224MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.64/0.81/0.99, temp=49.9°C (hwmon1), cpu=5.0%
2026/09/23 21:51:22 sync.go:592: [DEBUG] [sync] Running: git reset --hard origin/main
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] actualbudget/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] actualbudget/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] adventurelog/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] adventurelog/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] audiobookshelf/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] audiobookshelf/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] bentopdf/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] bentopdf/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] bookstack/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] bookstack/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] calcom/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] calcom/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] calibre-web/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] calibre-web/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] claper/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] claper/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] code-server/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] code-server/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] crafty-controller/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] crafty-controller/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] docmost/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] docmost/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] emby/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] emby/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] ghost/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] ghost/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gitea/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gitea/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] glance/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] glance/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gokapi/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gokapi/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] grafana/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] grafana/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gramps-web/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] gramps-web/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] home-assistant/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] home-assistant/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] homebox/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] homebox/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] homepage/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] homepage/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] immich/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] immich/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] jellyfin/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] jellyfin/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] kimai/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] kimai/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] komga/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] komga/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] mealie/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] mealie/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] n8n/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] n8n/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] navidrome/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] navidrome/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] nextcloud/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] nextcloud/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] onlyoffice/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] onlyoffice/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] opengist/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] opengist/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] outline/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] outline/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] paperless-ngx/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] paperless-ngx/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] papra/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] papra/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] plant-it/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] plant-it/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] plex/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] plex/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] privatebin/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] privatebin/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] radarr/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] radarr/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] rallly/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] rallly/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] recipe-importer/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] recipe-importer/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] romm/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] romm/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] seerr/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] seerr/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] sonarr/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] sonarr/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] sparkyfitness/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] sparkyfitness/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] tandoor/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] tandoor/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] termix/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] termix/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] uptime-kuma/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] uptime-kuma/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] vaultwarden/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] vaultwarden/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] vikunja/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] vikunja/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wanderer/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wanderer/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wger/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wger/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wishlist/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] wishlist/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] zipline/docker-compose.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:416: [DEBUG] [sync] zipline/.felhom.yml: hash match, skipped
2026/09/23 21:51:22 sync.go:263: [INFO] [sync] Catalog sync complete
2026/09/23 21:51:22 sync.go:135: [INFO] [sync] Periodic sync: Sablonok naprakészek — nincs változás
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:51:22 scheduler.go:346: [INFO] [scheduler] Running job: system-health
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job system-health: execution starting
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:22 scheduler.go:346: [INFO] [scheduler] Running job: offsite-credential-retry
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/09/23 21:51:22 scheduler.go:363: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/09/23 21:51:22 scheduler.go:346: [INFO] [scheduler] Running job: backup-cache
2026/09/23 21:51:22 scheduler.go:67: [DEBUG] [scheduler] job backup-cache: execution starting
2026/09/23 21:51:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/navidrome → [navidrome]
2026/09/23 21:51:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/nextcloud → [nextcloud]
2026/09/23 21:51:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/09/23 21:51:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/romm → [romm]
2026/09/23 21:51:23 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [actualbudget, adventurelog, docmost, gokapi, papra, privatebin, vikunja]
2026/09/23 21:51:23 backup.go:1117: [INFO] [backup] Found 10 DB dump files across drives
2026/09/23 21:51:23 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6241MB avail≈19657MB
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23311640 → total=25898MB avail=19657MB used=6241MB (24.1%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.67 0.81 0.99 6/1733 9384" → 1m=0.67 5m=0.81 15m=0.99
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetInfo done in 69ms — mem=6241MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.67/0.81/0.99, temp=49.9°C (hwmon1), cpu=5.0%
2026/09/23 21:51:23 healthcheck.go:86: [DEBUG] [monitor] Raw values: disk=29.3%, hdd=11.0% (configured=true), mem=24.1% (6241MB/25898MB), cpu=5.0%, temp=49.9°C (hwmon1)
2026/09/23 21:51:23 healthcheck.go:118: [DEBUG] [monitor] SSD disk: OK (29%)
2026/09/23 21:51:23 healthcheck.go:151: [DEBUG] [monitor] Memory: OK (24%)
2026/09/23 21:51:23 healthcheck.go:169: [DEBUG] [monitor] CPU: OK (5%)
2026/09/23 21:51:23 healthcheck.go:187: [DEBUG] [monitor] Temperature: OK (50°C)
2026/09/23 21:51:23 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 16089e1abac5 romm-db romm mariadb:11.8
d6ac44f34971 vikunja vikunja vikunja/vikunja:2.5.0
8a54f14e8bb0 navidrome navidrome deluan/navidrome:0.64.0
9c3fff6d8323 romm romm rommapp/romm:5.3.1
f428c67086c0 romm-redis romm redis:7-alpine
f12b35ea40d5 privatebin privatebin privatebin/pdo:2.0.6
20daa65aee34 papra papra ghcr.io/papra-hq/papra:26.6.2-rootless
c916eed5d29a paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
c509e115095a paperless-postgres paperless-ngx postgres:1...
2026/09/23 21:51:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found mariadb container: romm-db (id=16089e1abac5)
2026/09/23 21:51:23 dbdump.go:198: [DEBUG] DiscoverDatabases: romm-db → stack=romm, dbUser=root, dbName=romm
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.5.0, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container navidrome (image=deluan/navidrome:0.64.0, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm (image=rommapp/romm:5.3.1, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container romm-redis (image=redis:7-alpine, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container privatebin (image=privatebin/pdo:2.0.6, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container papra (image=ghcr.io/papra-hq/papra:26.6.2-rootless, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/09/23 21:51:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=c509e115095a)
2026/09/23 21:51:23 dbdump.go:896: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/09/23 21:51:23 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost (image=docmost/docmost:0.96.0, not a database)
2026/09/23 21:51:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: docmost-postgres (id=c981df80d790)
2026/09/23 21:51:23 healthcheck.go:201: [DEBUG] [monitor] Docker daemon: OK
2026/09/23 21:51:23 healthcheck.go:209: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/09/23 21:51:23 dbdump.go:198: [DEBUG] DiscoverDatabases: docmost-postgres → stack=docmost, dbUser=docmost, dbName=docmost
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container docmost-redis (image=redis:7-alpine, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog (image=ghcr.io/seanmorley15/adventurelog-backend:v0.12.1, not a database)
2026/09/23 21:51:23 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: adventurelog-postgres (id=5abd52db34b8)
2026/09/23 21:51:23 healthcheck.go:219: [DEBUG] [monitor] All protected containers running
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 healthcheck.go:238: [INFO] [monitor] Health check: status=warn
2026/09/23 21:51:23 healthcheck.go:242: [DEBUG] [monitor] Final status: warn (issues=0, warnings=4, info=5)
2026/09/23 21:51:23 notifier.go:1259: [DEBUG] notifier disabled: dropped event health_change (severity warning)
2026/09/23 21:51:23 scheduler.go:363: [INFO] [scheduler] Job system-health completed (took 158ms)
2026/09/23 21:51:23 dbdump.go:198: [DEBUG] DiscoverDatabases: adventurelog-postgres → stack=adventurelog, dbUser=adventurelog, dbName=adventurelog
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container adventurelog-frontend (image=ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.267.0, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/23 21:51:23 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/23 21:51:23 dbdump.go:205: [DEBUG] DiscoverDatabases: found 4 database(s), skipped 15 non-DB container(s)
2026/09/23 21:51:23 dbdump.go:208: [INFO] [backup] Discovered 4 databases
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:51:23 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:51:23 [INFO] [backup] Discovered app data: 11 apps
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=103.1 GB avail=787.0GB (11.0%)
2026/09/23 21:51:23 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=20.0 GB avail=44.8GB (29.3%)
2026/09/23 21:51:23 backup.go:1187: [INFO] [backup] Backup status cache refreshed
2026/09/23 21:51:23 scheduler.go:363: [INFO] [scheduler] Job backup-cache completed (took 211ms)
2026/09/23 21:51:23 infra.go:67: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/09/23 21:51:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:33 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:43 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:51:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:51:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:51:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:51:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:51:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:52:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:52:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6220MB avail≈19678MB
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23337180 → total=25898MB avail=19678MB used=6220MB (24.0%)
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.06 0.93 1.02 6/1711 9603" → 1m=1.06 5m=0.93 15m=1.02
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:52:22 info.go:13: [DEBUG] [system] GetInfo done in 59ms — mem=6220MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=1.06/0.93/1.02, temp=49.9°C (hwmon1), cpu=5.3%
2026/09/23 21:52:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:52:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:52:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:52:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:52:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:52:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:52:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:52:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:52:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:52:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:52:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 59ms)
2026/09/23 21:52:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 3 targets (5 skipped not due, 0 skipped no container)
2026/09/23 21:52:23 healthprobe.go:181: [DEBUG] Health probe navidrome: API GET :4533/ping → 200 (1ms)
2026/09/23 21:52:23 healthprobe.go:181: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (2ms)
2026/09/23 21:52:23 healthprobe.go:181: [DEBUG] Health probe privatebin: HTTP GET :8080/ → 200 (4ms)
2026/09/23 21:52:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:23 healthprobe.go:161: [INFO] Health probes: 3 ok (of 3 probed)
2026/09/23 21:52:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:52:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (7 skipped not due, 0 skipped no container)
2026/09/23 21:52:42 healthprobe.go:181: [DEBUG] Health probe papra: HTTP GET :1221/ → 200 (4ms)
2026/09/23 21:52:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:43 healthprobe.go:161: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/23 21:52:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:52:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:52:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:52:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:52:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:52:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 3 targets (5 skipped not due, 0 skipped no container)
2026/09/23 21:52:52 healthprobe.go:181: [DEBUG] Health probe romm: HTTP GET :8080/ → 200 (3ms)
2026/09/23 21:52:52 healthprobe.go:181: [DEBUG] Health probe docmost: HTTP GET :3000/ → 200 (4ms)
2026/09/23 21:52:52 healthprobe.go:181: [DEBUG] Health probe adventurelog: API GET :8000/api/ → 200 (5ms)
2026/09/23 21:52:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:52:53 healthprobe.go:161: [INFO] Health probes: 3 ok (of 3 probed)
2026/09/23 21:53:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:53:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:53:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:53:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6234MB avail≈19664MB
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23320768 → total=25898MB avail=19664MB used=6234MB (24.1%)
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.58 0.81 0.97 3/1708 9751" → 1m=0.58 5m=0.81 15m=0.97
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:53:22 info.go:13: [DEBUG] [system] GetInfo done in 69ms — mem=6234MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.58/0.81/0.97, temp=49.9°C (hwmon1), cpu=7.3%
2026/09/23 21:53:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (7 skipped not due, 0 skipped no container)
2026/09/23 21:53:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:53:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:53:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:22 healthprobe.go:181: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (4ms)
2026/09/23 21:53:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:53:23 healthprobe.go:161: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/23 21:53:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:53:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:53:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:43 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:53:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:53:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:53:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:53:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:53:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:53:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6243MB avail≈19655MB
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23310284 → total=25898MB avail=19655MB used=6243MB (24.1%)
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.40 0.72 0.93 5/1726 9889" → 1m=0.40 5m=0.72 15m=0.93
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:54:22 info.go:13: [DEBUG] [system] GetInfo done in 64ms — mem=6243MB/25898MB (24.1%), rootDisk=20.0GB/68.4GB (29.3%), load=0.40/0.72/0.93, temp=49.9°C (hwmon1), cpu=7.8%
2026/09/23 21:54:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:22 scheduler.go:346: [INFO] [scheduler] Running job: stack-scan
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 scheduler.go:67: [DEBUG] [scheduler] job stack-scan: execution starting
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:22 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:54:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=true composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/23 21:54:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=true composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=true composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=true composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=true composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=true composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/23 21:54:22 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=true composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=true composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/23 21:54:23 manager.go:585: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/23 21:54:23 manager.go:1655: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/23 21:54:23 manager.go:652: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/23 21:54:23 manager.go:683: [INFO] [stacks] ScanStacks complete: 55 stacks found (11 deployed, 44 available)
2026/09/23 21:54:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:23 scheduler.go:363: [INFO] [scheduler] Job stack-scan completed (took 60ms)
2026/09/23 21:54:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:54:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:54:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:54:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:54:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:54:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:02 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:12 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:12 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:12 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:13 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈6226MB avail≈19672MB
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=23329840 → total=25898MB avail=19672MB used=6226MB (24.0%)
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=20.0GB avail=44.8GB (29.3%)
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=103.1GB avail=787.0GB (11.0%)
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.73 0.77 0.93 4/1712 10044" → 1m=0.73 5m=0.77 15m=0.93
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 49.9°C (hwmon1)
2026/09/23 21:55:22 info.go:13: [DEBUG] [system] GetInfo done in 57ms — mem=6226MB/25898MB (24.0%), rootDisk=20.0GB/68.4GB (29.3%), load=0.73/0.77/0.93, temp=49.9°C (hwmon1), cpu=7.9%
2026/09/23 21:55:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:22 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:55:22 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:55:23 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:23 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:32 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:33 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:42 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:42 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:43 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:55:52 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:55:52 scheduler.go:67: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/09/23 21:55:52 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)
2026/09/23 21:55:52 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:55:52 scheduler.go:67: [DEBUG] [scheduler] job ring-spill: execution starting
2026/09/23 21:55:53 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:56:02 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/23 21:56:02 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/23 21:56:03 manager.go:734: [INFO] [stacks] Status refresh: 19 containers across 55 stacks
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping docmost — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping adventurelog — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping navidrome — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping papra — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping privatebin — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:54: [DEBUG] [stacks] RunHealthProbes: skipping romm — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/09/23 21:56:03 healthprobe.go:104: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (8 skipped not due, 0 skipped no container)