Files
felhom.eu/documentation/audits/release-2026-10-26/fixprobe-rc6-9202-controller.log
T

2629 lines
335 KiB
Plaintext

2026/10/25 16:12:01 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:01 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:04 manager.go:921: [DEBUG] [stacks] restart-policy of down member "immich-server" = "unless-stopped"
2026/10/25 16:12:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:04 healthprobe.go:105: [DEBUG] [stacks] RunHealthProbes: immich has a health check but no container to probe — candidates: [immich-server(stopped) immich-postgres(starting) immich-machine-learning(starting) immich-redis(starting)]
2026/10/25 16:12:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 1 skipped no container)
2026/10/25 16:12:06 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:06 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:12:10 manager.go:1719: [DEBUG] Command completed: docker compose up -d (took 11.3s)
2026/10/25 16:12:10 manager.go:1368: [INFO] [stacks] Stack immich started successfully (took 11.3s)
2026/10/25 16:12:11 installed.go:409: [DEBUG] [stacks] installed-images immich: unchanged (4 service(s)) — app.yaml not rewritten
2026/10/25 16:12:11 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:11 backup.go:1035: [INFO] [backup] Stopping paperless-ngx for safe volume dump
2026/10/25 16:12:11 manager.go:1439: [DEBUG] [stacks] StopStack paperless-ngx: current state=running deployed=true containers=3
2026/10/25 16:12:11 manager.go:1442: [INFO] [stacks] Stopping stack: paperless-ngx
2026/10/25 16:12:11 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, PAPERLESS_ADMIN_PASSWORD, PAPERLESS_ADMIN_USER, PAPERLESS_OCR_LANGUAGE, PAPERLESS_SECRET_KEY, USERDATA_PATH, IMPORT_PATH] (15 app + 0 system)
2026/10/25 16:12:11 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/paperless-ngx)
2026/10/25 16:12:11 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:11 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:14 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, SUBDOMAIN, USERDATA_PATH, IMPORT_PATH] (11 app + 0 system)
2026/10/25 16:12:14 manager.go:1697: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/immich)
2026/10/25 16:12:14 manager.go:1719: [DEBUG] Command completed: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (took 0.1s)
2026/10/25 16:12:14 manager.go:1813: [INFO] [stacks] Stack immich post-start status:
2026/10/25 16:12:14 manager.go:1816: [INFO] [stacks] immich-machine-learning ghcr.io/immich-app/immich-machine-learning:v3.2.4@sha256:e16c2f166a8174901959fdf85e2e4c7bd1ebc4b37e0b6655de97c41408a260c4 running Up 13 seconds (healthy)
2026/10/25 16:12:14 manager.go:1816: [INFO] [stacks] immich-postgres ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0@sha256:1a078b237c1d9b420b0ee59147386b4aa60d3a07a8e6a402fc84a57e41b043a4 running Up 13 seconds (healthy)
2026/10/25 16:12:14 manager.go:1816: [INFO] [stacks] immich-redis redis:7-alpine@sha256:858f009f9709ce576febc734aa78b8f6d624b82571f9ddb6bda4377c833b3499 running Up 14 seconds (healthy)
2026/10/25 16:12:14 manager.go:1816: [INFO] [stacks] immich-server ghcr.io/immich-app/immich-server:v3.2.4@sha256:d317916b28090c33eb36b308464ea391f8b7df1d850fcfea227a39ec879718c2 running Up 3 seconds (health: starting)
2026/10/25 16:12:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:12:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:16 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:16 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:18 manager.go:1719: [DEBUG] Command completed: docker compose down (took 7.0s)
2026/10/25 16:12:18 manager.go:1451: [INFO] [stacks] Stack paperless-ngx stopped successfully (took 7.0s)
2026/10/25 16:12:18 manager.go:839: [INFO] [stacks] Status refresh: 7 containers across 70 stacks
2026/10/25 16:12:18 backup.go:907: [DEBUG] [backup] Dumping volume paperless-ngx_paperless_data for paperless-ngx
2026/10/25 16:12:19 backup.go:932: [INFO] [backup] Volume dump: paperless-ngx/paperless-ngx_paperless_data → 14.7 MB
2026/10/25 16:12:19 data_versions.go:131: [DEBUG] [backup] paperless-ngx: stamped volume-dumps/paperless-ngx_paperless_data.tar (15393792 B) with pins [ghcr.io/paperless-ngx/paperless-ngx:2.20.15 postgres:18-alpine redis:7-alpine]
2026/10/25 16:12:19 backup.go:907: [DEBUG] [backup] Dumping volume paperless-ngx_paperless_postgres_data for paperless-ngx
2026/10/25 16:12:21 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:21 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:22 backup.go:932: [INFO] [backup] Volume dump: paperless-ngx/paperless-ngx_paperless_postgres_data → 69.6 MB
2026/10/25 16:12:22 data_versions.go:131: [DEBUG] [backup] paperless-ngx: stamped volume-dumps/paperless-ngx_paperless_postgres_data.tar (72970240 B) with pins [ghcr.io/paperless-ngx/paperless-ngx:2.20.15 postgres:18-alpine redis:7-alpine]
2026/10/25 16:12:22 backup.go:907: [DEBUG] [backup] Dumping volume paperless-ngx_paperless_redis_data for paperless-ngx
2026/10/25 16:12:23 backup.go:932: [INFO] [backup] Volume dump: paperless-ngx/paperless-ngx_paperless_redis_data → 14.8 MB
2026/10/25 16:12:23 data_versions.go:131: [DEBUG] [backup] paperless-ngx: stamped volume-dumps/paperless-ngx_paperless_redis_data.tar (15521280 B) with pins [ghcr.io/paperless-ngx/paperless-ngx:2.20.15 postgres:18-alpine redis:7-alpine]
2026/10/25 16:12:23 backup.go:1051: [INFO] [backup] Restarting paperless-ngx after volume dump
2026/10/25 16:12:23 manager.go:1350: [DEBUG] [stacks] StartStack paperless-ngx: current state=stopped deployed=true
2026/10/25 16:12:23 manager.go:1353: [INFO] [stacks] Starting stack: paperless-ngx
2026/10/25 16:12:23 manager.go:1360: [DEBUG] [stacks] StartStack paperless-ngx: prepared 15 env vars for compose
2026/10/25 16:12:23 manager.go:478: [INFO] [stacks] userdata belt: drive /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx not mounted — skipping ensure (held by drive gate)
2026/10/25 16:12:23 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, PAPERLESS_OCR_LANGUAGE, PAPERLESS_SECRET_KEY, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, PAPERLESS_ADMIN_PASSWORD, PAPERLESS_ADMIN_USER, USERDATA_PATH, IMPORT_PATH] (15 app + 0 system)
2026/10/25 16:12:23 manager.go:1697: [DEBUG] Running: docker compose up -d (in /opt/docker/stacks/paperless-ngx)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11633MB avail≈14265MB
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16917152 → total=25898MB avail=14265MB used=11633MB (44.9%)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.4GB (17.7%)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.72 1.66 1.50 7/1661 1243" → 1m=2.72 5m=1.66 15m=1.50
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 53.6°C (hwmon2)
2026/10/25 16:12:24 info.go:13: [DEBUG] [system] GetInfo done in 60ms — mem=11633MB/25898MB (44.9%), rootDisk=11.4GB/68.4GB (17.7%), load=2.72/1.66/1.50, temp=53.6°C (hwmon2), cpu=22.3%
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:12:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:12:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:12:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:12:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:12:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:12:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (4 deployed, 66 available)
2026/10/25 16:12:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:24 manager.go:921: [DEBUG] [stacks] restart-policy of down member "paperless-webserver" = "unless-stopped"
2026/10/25 16:12:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 134ms)
2026/10/25 16:12:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:24 healthprobe.go:105: [DEBUG] [stacks] RunHealthProbes: paperless-ngx has a health check but no container to probe — candidates: [paperless-webserver(stopped) paperless-postgres(starting) paperless-redis(starting)]
2026/10/25 16:12:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (1 skipped not due, 1 skipped no container)
2026/10/25 16:12:26 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:26 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:31 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:31 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:34 manager.go:1719: [DEBUG] Command completed: docker compose up -d (took 11.0s)
2026/10/25 16:12:34 manager.go:1368: [INFO] [stacks] Stack paperless-ngx started successfully (took 11.0s)
2026/10/25 16:12:34 installed.go:409: [DEBUG] [stacks] installed-images paperless-ngx: unchanged (3 service(s)) — app.yaml not rewritten
2026/10/25 16:12:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:34 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.4 GB avail=53.4GB (17.7%)
2026/10/25 16:12:34 backup.go:1035: [INFO] [backup] Stopping privatebin for safe volume dump
2026/10/25 16:12:34 manager.go:1439: [DEBUG] [stacks] StopStack privatebin: current state=stopped deployed=true containers=0
2026/10/25 16:12:34 manager.go:1442: [INFO] [stacks] Stopping stack: privatebin
2026/10/25 16:12:34 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, IMPORT_PATH] (8 app + 0 system)
2026/10/25 16:12:34 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/privatebin)
2026/10/25 16:12:34 manager.go:1719: [DEBUG] Command completed: docker compose down (took 0.1s)
2026/10/25 16:12:34 manager.go:1451: [INFO] [stacks] Stack privatebin stopped successfully (took 0.1s)
2026/10/25 16:12:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:12:34 healthprobe.go:187: [DEBUG] Health probe immich: API GET :2283/api/server/ping → 200 (6ms)
2026/10/25 16:12:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:34 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:12:34 backup.go:907: [DEBUG] [backup] Dumping volume privatebin_privatebin_data for privatebin
2026/10/25 16:12:35 backup.go:932: [INFO] [backup] Volume dump: privatebin/privatebin_privatebin_data → 1.5 KB
2026/10/25 16:12:35 data_versions.go:131: [DEBUG] [backup] privatebin: stamped volume-dumps/privatebin_privatebin_data.tar (1536 B) with pins [privatebin/pdo:2.0.6@sha256:4c141b2326f8b353598ce9ce7507a9cfecf2dad5c60a39fea903d430e296d8f5]
2026/10/25 16:12:35 backup.go:1047: [INFO] [backup] privatebin NOT restarted after the volume dump: the household stopped it meanwhile
2026/10/25 16:12:35 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:12:35 backup.go:1035: [INFO] [backup] Stopping vikunja for safe volume dump
2026/10/25 16:12:35 manager.go:1439: [DEBUG] [stacks] StopStack vikunja: current state=running deployed=true containers=1
2026/10/25 16:12:35 manager.go:1442: [INFO] [stacks] Stopping stack: vikunja
2026/10/25 16:12:35 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, DOMAIN, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:12:35 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/vikunja)
2026/10/25 16:12:35 manager.go:1719: [DEBUG] Command completed: docker compose down (took 0.3s)
2026/10/25 16:12:35 manager.go:1451: [INFO] [stacks] Stack vikunja stopped successfully (took 0.3s)
2026/10/25 16:12:35 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:12:35 backup.go:907: [DEBUG] [backup] Dumping volume vikunja_vikunja_data for vikunja
2026/10/25 16:12:36 backup.go:932: [INFO] [backup] Volume dump: vikunja/vikunja_vikunja_data → 1.5 KB
2026/10/25 16:12:36 data_versions.go:131: [DEBUG] [backup] vikunja: stamped volume-dumps/vikunja_vikunja_data.tar (1536 B) with pins [vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5]
2026/10/25 16:12:36 backup.go:907: [DEBUG] [backup] Dumping volume vikunja_vikunja_db for vikunja
2026/10/25 16:12:36 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:36 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:36 backup.go:932: [INFO] [backup] Volume dump: vikunja/vikunja_vikunja_db → 2.5 MB
2026/10/25 16:12:36 data_versions.go:131: [DEBUG] [backup] vikunja: stamped volume-dumps/vikunja_vikunja_db.tar (2615296 B) with pins [vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5]
2026/10/25 16:12:36 backup.go:1051: [INFO] [backup] Restarting vikunja after volume dump
2026/10/25 16:12:36 manager.go:1350: [DEBUG] [stacks] StartStack vikunja: current state=stopped deployed=true
2026/10/25 16:12:36 manager.go:1353: [INFO] [stacks] Starting stack: vikunja
2026/10/25 16:12:36 manager.go:1360: [DEBUG] [stacks] StartStack vikunja: prepared 9 env vars for compose
2026/10/25 16:12:36 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:12:36 manager.go:1697: [DEBUG] Running: docker compose up -d (in /opt/docker/stacks/vikunja)
2026/10/25 16:12:37 manager.go:1719: [DEBUG] Command completed: docker compose up -d (took 0.5s)
2026/10/25 16:12:37 manager.go:1368: [INFO] [stacks] Stack vikunja started successfully (took 0.5s)
2026/10/25 16:12:37 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, PAPERLESS_OCR_LANGUAGE, PAPERLESS_SECRET_KEY, SUBDOMAIN, DB_PASSWORD, DOMAIN, HDD_PATH, PAPERLESS_ADMIN_PASSWORD, PAPERLESS_ADMIN_USER, USERDATA_PATH, IMPORT_PATH] (15 app + 0 system)
2026/10/25 16:12:37 manager.go:1697: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/paperless-ngx)
2026/10/25 16:12:37 manager.go:1719: [DEBUG] Command completed: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (took 0.1s)
2026/10/25 16:12:37 manager.go:1813: [INFO] [stacks] Stack paperless-ngx post-start status:
2026/10/25 16:12:37 manager.go:1816: [INFO] [stacks] paperless-postgres postgres:18-alpine running Up 13 seconds (healthy)
2026/10/25 16:12:37 manager.go:1816: [INFO] [stacks] paperless-redis redis:7-alpine running Up 13 seconds (healthy)
2026/10/25 16:12:37 manager.go:1816: [INFO] [stacks] paperless-webserver ghcr.io/paperless-ngx/paperless-ngx:2.20.15 running Up 3 seconds (health: starting)
2026/10/25 16:12:37 installed.go:409: [DEBUG] [stacks] installed-images vikunja: unchanged (1 service(s)) — app.yaml not rewritten
2026/10/25 16:12:37 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:37 backup.go:734: [INFO] [backup] App-data backup completed: 2 databases (51.9 MB total), 4 volume dump(s) (1m6.261s)
2026/10/25 16:12:37 recovery_unit.go:297: [INFO] [backup] Recovery unit captured for immich → /mnt/sizing-bench/backups/primary/immich (images=4, secrets-referenced=1, data_keys=0, portable-carried=1/1, withheld=0)
2026/10/25 16:12:37 recovery_unit.go:297: [INFO] [backup] Recovery unit captured for paperless-ngx → /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx/backups/primary/paperless-ngx (images=3, secrets-referenced=3, data_keys=0, portable-carried=2/2, withheld=1)
2026/10/25 16:12:37 recovery_unit.go:297: [INFO] [backup] Recovery unit captured for privatebin → /mnt/sys_drive/felhom-data/backups/primary/privatebin (images=1, secrets-referenced=0, data_keys=0, portable-carried=0/0, withheld=0)
2026/10/25 16:12:37 recovery_unit.go:297: [INFO] [backup] Recovery unit captured for vikunja → /mnt/sys_drive/felhom-data/backups/primary/vikunja (images=1, secrets-referenced=1, data_keys=0, portable-carried=1/1, withheld=0)
2026/10/25 16:12:37 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:37 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:37 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:37 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:12:40 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:12:40 manager.go:1697: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/vikunja)
2026/10/25 16:12:40 manager.go:1719: [DEBUG] Command completed: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (took 0.1s)
2026/10/25 16:12:40 manager.go:1813: [INFO] [stacks] Stack vikunja post-start status:
2026/10/25 16:12:40 manager.go:1816: [INFO] [stacks] vikunja vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5 running Up 3 seconds
2026/10/25 16:12:41 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/status
2026/10/25 16:12:41 router.go:78: [DEBUG] [api] GET /api/backup/status (path=/backup/status)
2026/10/25 16:12:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:12:44 healthprobe.go:187: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (4ms)
2026/10/25 16:12:44 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:12:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/snapshots
2026/10/25 16:12:52 router.go:78: [DEBUG] [api] GET /api/backup/snapshots (path=/backup/snapshots)
2026/10/25 16:12:52 router.go:78: [DEBUG] [api] backupSnapshots: stack=vikunja points=1
2026/10/25 16:12:52 auth.go:144: [DEBUG] [web] auth: valid session for POST /backup/restore
2026/10/25 16:12:52 server.go:644: [DEBUG] [web] ServeHTTP: POST /backup/restore from 172.18.0.4:48552
2026/10/25 16:12:52 handlers.go:1852: [DEBUG] [web] backupRestoreHandler: stack=vikunja snapshot=helyi from 172.18.0.4:48552
2026/10/25 16:12:52 handlers.go:1894: [WARN] [web] Restore requested (async): stack=vikunja, snapshot=helyi from 172.18.0.4:48552
2026/10/25 16:12:52 restore_unit.go:398: [INFO] [backup] Restore vikunja: the data belongs to [busybox:1.36.1] (written 2026-10-25T16:12:36Z); the app ran [vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5] — it comes back at its data's version, and the update climbs from there
2026/10/25 16:12:52 restore_unit.go:410: [INFO] [backup] Restoring vikunja from recovery unit /mnt/sys_drive/felhom-data/backups/primary/vikunja: images=1, secrets recovered=1/1, data_keys=0
2026/10/25 16:12:54 manager.go:1439: [DEBUG] [stacks] StopStack vikunja: current state=running deployed=true containers=1
2026/10/25 16:12:54 manager.go:1442: [INFO] [stacks] Stopping stack: vikunja
2026/10/25 16:12:54 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, VIKUNJA_SERVICE_JWTSECRET, DOMAIN, SUBDOMAIN, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:12:54 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/vikunja)
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:12:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:12:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:12:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:12:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:12:54 manager.go:1719: [DEBUG] Command completed: docker compose down (took 0.4s)
2026/10/25 16:12:54 manager.go:1451: [INFO] [stacks] Stack vikunja stopped successfully (took 0.4s)
2026/10/25 16:12:55 manager.go:1758: [ERROR] [stacks] execCommand failed: exit status 1
2026/10/25 16:12:55 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:12:56 offbox_restore_undo.go:169: [INFO] [offbox] vikunja: the live volumes are copied before the restore (2 copied, 0 new from the snapshot) in 1.602s — /mnt/sys_drive/felhom-data/backups/restore-undo/vikunja/20261025T161255Z (R-893)
2026/10/25 16:12:56 restore_crash_putback.go:89: [INFO] [backup] vikunja: the restore copy is recorded — a power cut from here on puts the app back on start (R-1195)
2026/10/25 16:12:56 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_data for vikunja
2026/10/25 16:12:57 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:12:57 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:12:57 restore.go:263: [DEBUG] [backup] Volume vikunja_vikunja_data restored successfully
2026/10/25 16:12:57 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_db for vikunja
2026/10/25 16:12:58 restore.go:263: [DEBUG] [backup] Volume vikunja_vikunja_db restored successfully
2026/10/25 16:12:58 restore.go:268: [INFO] [backup] Restored 2 Docker volume(s) for vikunja
2026/10/25 16:12:58 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 1 encrypted, 1 sensitive fields
2026/10/25 16:12:58 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:12:58 deploy.go:911: [INFO] [stacks] Redeploying vikunja from recovery unit with 3 env vars
2026/10/25 16:12:58 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
2026/10/25 16:12:58 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:12:58 pin.go:93: [INFO] [stacks] pin vikunja: vikunja=busybox:1.36.1
2026/10/25 16:12:58 manager.go:1350: [DEBUG] [stacks] StartStack vikunja: current state=stopped deployed=true
2026/10/25 16:12:58 manager.go:1353: [INFO] [stacks] Starting stack: vikunja
2026/10/25 16:12:58 manager.go:1360: [DEBUG] [stacks] StartStack vikunja: prepared 9 env vars for compose
2026/10/25 16:12:58 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:12:58 manager.go:1697: [DEBUG] Running: docker compose up -d (in /opt/docker/stacks/vikunja)
2026/10/25 16:12:58 manager.go:1719: [DEBUG] Command completed: docker compose up -d (took 0.6s)
2026/10/25 16:12:58 manager.go:1368: [INFO] [stacks] Stack vikunja started successfully (took 0.6s)
2026/10/25 16:12:59 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
2026/10/25 16:12:59 installed.go:420: [INFO] [stacks] installed-images vikunja: recorded 1 service(s) (vikunja=busybox:1.36.1 (sha256:73aaf090f3d8…))
2026/10/25 16:12:59 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:12:59 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:02 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:13:02 manager.go:1697: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/vikunja)
2026/10/25 16:13:02 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:02 restore.go:303: [DEBUG] [backup] Post-restore health check: vikunja is running
2026/10/25 16:13:02 manager.go:1719: [DEBUG] Command completed: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (took 0.2s)
2026/10/25 16:13:02 manager.go:1813: [INFO] [stacks] Stack vikunja post-start status:
2026/10/25 16:13:02 manager.go:1816: [INFO] [stacks] vikunja busybox:1.36.1 running Up 3 seconds
2026/10/25 16:13:02 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:02 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:02 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:13:04 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:13:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:04 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:13:07 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:07 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:13:12 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:12 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:13:12 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:12 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 2 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:13:14 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:13:14 healthprobe.go:187: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (4ms)
2026/10/25 16:13:14 healthprobe.go:165: [WARN] Health probes: 1 ok, 1 unhealthy (of 2 probed)
2026/10/25 16:13:17 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:17 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:22 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:22 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:13:22 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:22 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈12181MB avail≈13717MB
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16268208 → total=25898MB avail=13717MB used=12181MB (47.0%)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.69 1.87 1.58 4/1664 2170" → 1m=2.69 5m=1.87 15m=1.58
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.6°C (hwmon2)
2026/10/25 16:13:24 info.go:13: [DEBUG] [system] GetInfo done in 61ms — mem=12181MB/25898MB (47.0%), rootDisk=11.5GB/68.4GB (17.7%), load=2.69/1.87/1.58, temp=50.6°C (hwmon2), cpu=13.0%
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:13:24 controller_image_retention.go:50: [INFO] [stacks] controller image retention: skipped — running version "0.343.0-rc.6" is not a release (or no repository)
2026/10/25 16:13:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:13:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:13:27 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:27 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:32 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:32 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:13:32 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:32 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:13:34 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:13:34 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:13:37 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:37 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:13:42 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:42 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:13:42 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:42 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:13:44 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:13:44 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:13:47 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:47 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:52 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:52 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:13:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:52 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:13:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:13:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:13:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:13:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:13:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:13:57 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:13:57 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:02 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:02 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:02 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:02 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:14:04 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:14:04 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:14:07 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:07 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:14:12 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:12 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:12 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:12 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:14:14 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:14:14 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:14:17 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:17 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:22 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:22 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:22 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:22 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11823MB avail≈14075MB
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16691232 → total=25898MB avail=14075MB used=11823MB (45.7%)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.34 1.62 1.51 5/1664 2403" → 1m=1.34 5m=1.62 15m=1.51
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.0°C (hwmon0)
2026/10/25 16:14:24 info.go:13: [DEBUG] [system] GetInfo done in 65ms — mem=11823MB/25898MB (45.7%), rootDisk=11.5GB/68.4GB (17.7%), load=1.34/1.62/1.51, temp=50.0°C (hwmon0), cpu=15.4%
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:14:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:14:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:14:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:14:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:14:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:14:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:14:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:14:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:14:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (4 deployed, 66 available)
2026/10/25 16:14:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 110ms)
2026/10/25 16:14:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:27 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:27 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:32 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:32 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:32 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:32 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:14:34 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:14:34 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:14:37 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:37 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:14:42 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:42 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:42 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:42 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:14:44 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:14:44 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:14:47 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:47 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:52 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:52 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:14:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:52 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:14:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:14:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:14:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:14:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:14:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:14:57 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:14:57 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:02 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:02 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:03 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:15:03 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:15:04 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:15:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:04 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:15:08 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:15:08 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:15:12 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:12 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:13 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:15:13 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:15:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:15:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:18 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:15:18 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:22 restore_verdict.go:54: [ERROR] [backup] vikunja: the unit restore put the data back, but the app did not start: stack vikunja did not run stably for 45s (it restarted or turned unhealthy) after restore — NOT reported as a success; the restore copy is kept (/mnt/sys_drive/felhom-data/backups/restore-undo/vikunja/20261025T161255Z); watching 30m0s for a late start (R-1270)
2026/10/25 16:15:22 notifier.go:1463: [WARN] notifier disabled (no hub configured): DROPPED event backup_run_failures (severity error) — further backup_run_failures events are logged at DEBUG only
2026/10/25 16:15:22 offbox_restore_undo.go:180: [WARN] [offbox] vikunja: the restore's volume copy is KEPT for support at /mnt/sys_drive/felhom-data/backups/restore-undo/vikunja/20261025T161255Z
2026/10/25 16:15:22 handlers.go:1902: [ERROR] [web] Restore failed (async): stack=vikunja: A(z) vikunja: az adatokat visszatöltöttük, de az alkalmazás még nem indult el. Várj pár percet, majd nyisd meg újra. Ha így marad, szólj nekünk.
2026/10/25 16:15:22 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:22 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:23 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:15:23 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:15:23 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
2026/10/25 16:15:23 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11876MB avail≈14022MB
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16629244 → total=25898MB avail=14022MB used=11876MB (45.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.09 1.49 1.47 8/1673 2637" → 1m=1.09 5m=1.49 15m=1.47
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 54.6°C (hwmon2)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetInfo done in 69ms — mem=11876MB/25898MB (45.9%), rootDisk=11.5GB/68.4GB (17.7%), load=1.09/1.49/1.47, temp=54.6°C (hwmon2), cpu=12.3%
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:15:24 scheduler.go:450: [INFO] [scheduler] Running job: docker-socket-users
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-users: execution starting
2026/10/25 16:15:24 scheduler.go:450: [INFO] [scheduler] Running job: system-health
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job system-health: execution starting
2026/10/25 16:15:24 scheduler.go:450: [INFO] [scheduler] Running job: backup-cache
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job backup-cache: execution starting
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:15:24 scheduler.go:450: [INFO] [scheduler] Running job: offsite-credential-retry
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/10/25 16:15:24 scheduler.go:467: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:15:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:15:24 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:15:24 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:15:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sizing-bench → [immich]
2026/10/25 16:15:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/10/25 16:15:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [privatebin, vikunja]
2026/10/25 16:15:24 backup.go:1243: [INFO] [backup] Found 3 DB dump files across drives
2026/10/25 16:15:24 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11872MB avail≈14026MB
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16634440 → total=25898MB avail=14026MB used=11872MB (45.8%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.09 1.49 1.47 15/1706 2717" → 1m=1.09 5m=1.49 15m=1.47
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 54.5°C (hwmon2)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetInfo done in 87ms — mem=11872MB/25898MB (45.8%), rootDisk=11.5GB/68.4GB (17.7%), load=1.09/1.49/1.47, temp=54.5°C (hwmon2), cpu=14.5%
2026/10/25 16:15:24 healthcheck.go:128: [DEBUG] [monitor] Raw values: disk=17.7%, hdd=23.9% (configured=true), mem=45.8% (11872MB/25898MB), cpu=14.5%, temp=54.5°C (hwmon2)
2026/10/25 16:15:24 healthcheck.go:409: [DEBUG] [monitor] SSD disk: OK (18%)
2026/10/25 16:15:24 healthcheck.go:445: [DEBUG] [monitor] Memory: OK (46%)
2026/10/25 16:15:24 healthcheck.go:464: [DEBUG] [monitor] CPU: OK (15%)
2026/10/25 16:15:24 healthcheck.go:483: [DEBUG] [monitor] Temperature: OK (54°C)
2026/10/25 16:15:24 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 62bd40f3bebf vikunja vikunja busybox:1.36.1
8575ef789979 paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
7e0c8a343939 paperless-postgres paperless-ngx postgres:18-alpine
86de64e5f879 paperless-redis paperless-ngx redis:7-alpine
d3896757721b immich-server immich ghcr.io/immich-app/immich-server:v3.2.4
ab39311da374 immich-postgres immich ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
c8508473ae6c immich-machine-learning immich ghcr.io/immich-app/immich...
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=busybox:1.36.1, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/10/25 16:15:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=7e0c8a343939)
2026/10/25 16:15:24 dbdump.go:915: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/10/25 16:15:24 main.go:4280: [INFO] [deadapp] vikunja crossed the crash_loop threshold (7 in 10m0s) while a backup/quiesce/update holds it — NOT stopped
2026/10/25 16:15:24 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-server (image=ghcr.io/immich-app/immich-server:v3.2.4, not a database)
2026/10/25 16:15:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: immich-postgres (id=ab39311da374)
2026/10/25 16:15:24 healthcheck.go:145: [DEBUG] [monitor] Docker daemon: OK
2026/10/25 16:15:24 healthcheck.go:153: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/10/25 16:15:24 dbdump.go:198: [DEBUG] DiscoverDatabases: immich-postgres → stack=immich, dbUser=immich, dbName=immich
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-machine-learning (image=ghcr.io/immich-app/immich-machine-learning:v3.2.4, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-redis (image=redis:7-alpine, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.343.0-rc.6, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.5.6-stable, not a database)
2026/10/25 16:15:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.7.13, not a database)
2026/10/25 16:15:24 dbdump.go:205: [DEBUG] DiscoverDatabases: found 2 database(s), skipped 9 non-DB container(s)
2026/10/25 16:15:24 dbdump.go:208: [INFO] [backup] Discovered 2 databases
2026/10/25 16:15:24 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:15:24 scheduler.go:467: [INFO] [scheduler] Job docker-socket-users completed (took 198ms)
2026/10/25 16:15:24 healthcheck.go:161: [DEBUG] [monitor] All protected containers running
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/audiobookshelf" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/immich" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/calibre-web" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:15:24 healthcheck.go:176: [INFO] [monitor] Health check: status=warn
2026/10/25 16:15:24 healthcheck.go:180: [DEBUG] [monitor] Final status: warn (issues=0, warnings=10, info=5)
2026/10/25 16:15:24 notifier.go:1463: [WARN] notifier disabled (no hub configured): DROPPED event health_change (severity warning) — further health_change events are logged at DEBUG only
2026/10/25 16:15:24 scheduler.go:467: [INFO] [scheduler] Job system-health completed (took 208ms)
2026/10/25 16:15:25 infra.go:97: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:15:25 [INFO] [backup] Discovered app data: 4 apps
2026/10/25 16:15:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:15:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:15:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:15:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:15:25 recovery_unit.go:297: [INFO] [backup] Recovery unit captured for vikunja → /mnt/sys_drive/felhom-data/backups/primary/vikunja (images=1, secrets-referenced=1, data_keys=0, portable-carried=1/1, withheld=0)
2026/10/25 16:15:25 backup.go:1314: [INFO] [backup] Backup status cache refreshed
2026/10/25 16:15:25 scheduler.go:467: [INFO] [scheduler] Job backup-cache completed (took 422ms)
2026/10/25 16:15:32 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:32 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:15:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:15:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:15:42 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:42 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:15:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:44 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:15:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:44 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:15:53 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:53 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:15:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:15:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:15:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:15:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:15:54 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:15:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:15:54 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:16:03 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:03 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:16:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:16:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:16:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:16:13 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:13 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:16:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:16:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:14 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:16:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:14 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:16:23 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:23 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11768MB avail≈14130MB
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16757044 → total=25898MB avail=14130MB used=11768MB (45.4%)
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.70 1.60 1.51 7/1669 3061" → 1m=1.70 5m=1.60 15m=1.51
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 52.1°C (hwmon2)
2026/10/25 16:16:24 info.go:13: [DEBUG] [system] GetInfo done in 72ms — mem=11768MB/25898MB (45.4%), rootDisk=11.5GB/68.4GB (17.7%), load=1.70/1.60/1.51, temp=52.1°C (hwmon2), cpu=11.8%
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:16:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:16:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:16:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:16:24 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:16:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:16:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:16:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:16:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (4 deployed, 66 available)
2026/10/25 16:16:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 142ms)
2026/10/25 16:16:24 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:16:33 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:33 restore_verdict.go:172: [DEBUG] [backup] stable-start sample vikunja: not ok — the stack does not read running
2026/10/25 16:16:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:16:34 healthprobe.go:196: [WARN] Health probe vikunja: API GET :3456/api/v1/info → Get "http://vikunja:3456/api/v1/info": dial tcp 172.18.0.7:3456: connect: connection refused
2026/10/25 16:16:34 healthprobe.go:165: [WARN] Health probes: 0 ok, 1 unhealthy (of 1 probed)
2026/10/25 16:16:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:16:42 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/snapshots
2026/10/25 16:16:42 router.go:78: [DEBUG] [api] GET /api/backup/snapshots (path=/backup/snapshots)
2026/10/25 16:16:42 router.go:78: [DEBUG] [api] backupSnapshots: stack=vikunja points=1
2026/10/25 16:16:42 auth.go:144: [DEBUG] [web] auth: valid session for POST /backup/restore
2026/10/25 16:16:42 server.go:644: [DEBUG] [web] ServeHTTP: POST /backup/restore from 172.18.0.4:48552
2026/10/25 16:16:42 handlers.go:1852: [DEBUG] [web] backupRestoreHandler: stack=vikunja snapshot=helyi from 172.18.0.4:48552
2026/10/25 16:16:42 handlers.go:1894: [WARN] [web] Restore requested (async): stack=vikunja, snapshot=helyi from 172.18.0.4:48552
2026/10/25 16:16:42 restore_unit.go:398: [INFO] [backup] Restore vikunja: the data belongs to [vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5] (written 2026-10-25T16:12:36Z); the app ran [busybox:1.36.1] — it comes back at its data's version, and the update climbs from there
2026/10/25 16:16:42 restore_unit.go:410: [INFO] [backup] Restoring vikunja from recovery unit /mnt/sys_drive/felhom-data/backups/primary/vikunja: images=1, secrets recovered=1/1, data_keys=0
2026/10/25 16:16:43 manager.go:1439: [DEBUG] [stacks] StopStack vikunja: current state=unhealthy deployed=true containers=1
2026/10/25 16:16:43 manager.go:1442: [INFO] [stacks] Stopping stack: vikunja
2026/10/25 16:16:43 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:16:43 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/vikunja)
2026/10/25 16:16:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 10s, healthy=false
2026/10/25 16:16:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:16:47 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:16:47 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:16:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:16:52 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:16:54 manager.go:1719: [DEBUG] Command completed: docker compose down (took 10.3s)
2026/10/25 16:16:54 manager.go:1451: [INFO] [stacks] Stack vikunja stopped successfully (took 10.3s)
2026/10/25 16:16:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:16:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:16:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:16:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:16:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:16:55 offbox_restore_undo.go:169: [INFO] [offbox] vikunja: the live volumes are copied before the restore (2 copied, 0 new from the snapshot) in 1.095s — /mnt/sys_drive/felhom-data/backups/restore-undo/vikunja/20261025T161654Z (R-893)
2026/10/25 16:16:55 restore_crash_putback.go:89: [INFO] [backup] vikunja: the restore copy is recorded — a power cut from here on puts the app back on start (R-1195)
2026/10/25 16:16:55 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_data for vikunja
2026/10/25 16:16:55 restore.go:263: [DEBUG] [backup] Volume vikunja_vikunja_data restored successfully
2026/10/25 16:16:55 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_db for vikunja
2026/10/25 16:16:56 restore.go:263: [DEBUG] [backup] Volume vikunja_vikunja_db restored successfully
2026/10/25 16:16:56 restore.go:268: [INFO] [backup] Restored 2 Docker volume(s) for vikunja
2026/10/25 16:16:56 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 1 encrypted, 1 sensitive fields
2026/10/25 16:16:56 deploy.go:911: [INFO] [stacks] Redeploying vikunja from recovery unit with 3 env vars
2026/10/25 16:16:56 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:16:56 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
2026/10/25 16:16:56 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:16:56 pin.go:93: [INFO] [stacks] pin vikunja: vikunja=vikunja/vikunja:2.6.0
2026/10/25 16:16:56 manager.go:1350: [DEBUG] [stacks] StartStack vikunja: current state=stopped deployed=true
2026/10/25 16:16:56 manager.go:1353: [INFO] [stacks] Starting stack: vikunja
2026/10/25 16:16:56 manager.go:1360: [DEBUG] [stacks] StartStack vikunja: prepared 9 env vars for compose
2026/10/25 16:16:56 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, VIKUNJA_SERVICE_JWTSECRET, DOMAIN, SUBDOMAIN, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:16:56 manager.go:1697: [DEBUG] Running: docker compose up -d (in /opt/docker/stacks/vikunja)
2026/10/25 16:16:56 manager.go:1719: [DEBUG] Command completed: docker compose up -d (took 0.4s)
2026/10/25 16:16:56 manager.go:1368: [INFO] [stacks] Stack vikunja started successfully (took 0.4s)
2026/10/25 16:16:57 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
2026/10/25 16:16:57 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:16:57 installed.go:420: [INFO] [stacks] installed-images vikunja: recorded 1 service(s) (vikunja=vikunja/vikunja:2.6.0 (sha256:417ada6f94e8…))
2026/10/25 16:16:57 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:16:57 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:16:57 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:00 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, VIKUNJA_SERVICE_JWTSECRET, DOMAIN, SUBDOMAIN, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:17:00 manager.go:1697: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/vikunja)
2026/10/25 16:17:00 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:00 restore.go:303: [DEBUG] [backup] Post-restore health check: vikunja is running
2026/10/25 16:17:00 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:00 manager.go:1719: [DEBUG] Command completed: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (took 0.1s)
2026/10/25 16:17:00 manager.go:1813: [INFO] [stacks] Stack vikunja post-start status:
2026/10/25 16:17:00 manager.go:1816: [INFO] [stacks] vikunja vikunja/vikunja:2.6.0@sha256:417ada6f94e81f0267aa2f007d0a811fc82d38dd2aa58351e3ea520ca01c2ea5 running Up 3 seconds
2026/10/25 16:17:02 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:02 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:17:04 healthprobe.go:187: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (1ms)
2026/10/25 16:17:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:04 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:17:07 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:07 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:17:10 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:12 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:12 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:17:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:17 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:17 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:20 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:22 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:22 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11788MB avail≈14110MB
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16733448 → total=25898MB avail=14110MB used=11788MB (45.5%)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.55 1.60 1.52 5/1679 3686" → 1m=1.55 5m=1.60 15m=1.52
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:17:24 info.go:13: [DEBUG] [system] GetInfo done in 62ms — mem=11788MB/25898MB (45.5%), rootDisk=11.5GB/68.4GB (17.7%), load=1.55/1.60/1.52, temp=50.9°C (hwmon1), cpu=9.5%
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:17:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:17:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:27 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:27 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:30 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:32 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:32 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:17:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:37 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:37 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:17:40 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:42 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:42 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:17:44 healthprobe.go:187: [DEBUG] Health probe immich: API GET :2283/api/server/ping → 200 (2ms)
2026/10/25 16:17:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:44 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:17:47 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:47 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:50 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:50 restore_unit.go:591: [INFO] [backup] Restore-from-unit completed: vikunja — 2 volume(s) of 2 listed, 0 database(s) of 0 listed
2026/10/25 16:17:50 handlers.go:1906: [INFO] [web] Restore completed (async): stack=vikunja in 1m8.094909118s (volumes 2/2, dbs 0/0)
2026/10/25 16:17:50 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:17:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/backup/restore-status
2026/10/25 16:17:52 router.go:78: [DEBUG] [api] GET /api/backup/restore-status (path=/backup/restore-status)
2026/10/25 16:17:52 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
2026/10/25 16:17:52 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:17:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:17:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:17:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:17:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:00 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:18:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:18:10 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:18:14 healthprobe.go:187: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (3ms)
2026/10/25 16:18:14 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:18:21 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11788MB avail≈14110MB
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16733888 → total=25898MB avail=14110MB used=11788MB (45.5%)
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.58 1.60 1.53 5/1679 4083" → 1m=1.58 5m=1.60 15m=1.53
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 52.8°C (hwmon2)
2026/10/25 16:18:24 info.go:13: [DEBUG] [system] GetInfo done in 61ms — mem=11788MB/25898MB (45.5%), rootDisk=11.5GB/68.4GB (17.7%), load=1.58/1.60/1.53, temp=52.8°C (hwmon2), cpu=9.7%
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:18:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:18:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:18:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:18:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:18:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:18:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (4 deployed, 66 available)
2026/10/25 16:18:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 151ms)
2026/10/25 16:18:31 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:18:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:18:41 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:18:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:51 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:18:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:18:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:18:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:18:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:01 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:19:11 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:21 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11789MB avail≈14109MB
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16732324 → total=25898MB avail=14109MB used=11789MB (45.5%)
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.60 1.61 1.54 6/1682 4450" → 1m=1.60 5m=1.61 15m=1.54
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:19:24 info.go:13: [DEBUG] [system] GetInfo done in 63ms — mem=11789MB/25898MB (45.5%), rootDisk=11.5GB/68.4GB (17.7%), load=1.60/1.61/1.54, temp=50.9°C (hwmon1), cpu=13.0%
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:19:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:31 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:19:41 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:51 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:19:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:19:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:19:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:19:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:02 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:20:12 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:22 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11861MB avail≈14037MB
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16646684 → total=25898MB avail=14037MB used=11861MB (45.8%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.35 1.82 1.61 7/1682 4809" → 1m=2.35 5m=1.82 15m=1.61
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 52.5°C (hwmon2)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetInfo done in 62ms — mem=11861MB/25898MB (45.8%), rootDisk=11.5GB/68.4GB (17.7%), load=2.35/1.82/1.61, temp=52.5°C (hwmon2), cpu=10.8%
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: system-health
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job system-health: execution starting
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: docker-socket-users
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-users: execution starting
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: backup-cache
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job backup-cache: execution starting
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: fill-watch-interval
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job fill-watch-interval: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:20:24 scheduler.go:450: [INFO] [scheduler] Running job: offsite-credential-retry
2026/10/25 16:20:24 scheduler.go:85: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/10/25 16:20:24 scheduler.go:467: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/audiobookshelf" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/calibre-web" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: statfs("/mnt/felhom-drives/scratch_hdd/userdata/grimmory") failed: no such file or directory
2026/10/25 16:20:24 fillwatch.go:233: [DEBUG] [fillwatch] /mnt/felhom-drives/scratch_hdd/userdata/grimmory: usage unreadable — skipped (an unreadable filesystem is not a full one)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/immich" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: statfs("/mnt/felhom-drives/scratch_hdd/userdata/metube") failed: no such file or directory
2026/10/25 16:20:24 fillwatch.go:233: [DEBUG] [fillwatch] /mnt/felhom-drives/scratch_hdd/userdata/metube: usage unreadable — skipped (an unreadable filesystem is not a full one)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:20:24 fillwatch.go:284: [INFO] [fillwatch] checked 11 filesystem(s), 2 unreadable/skipped, 0 notification(s); bands: all ok
2026/10/25 16:20:24 scheduler.go:467: [INFO] [scheduler] Job fill-watch-interval completed (took 0s)
2026/10/25 16:20:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11860MB avail≈14038MB
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16648556 → total=25898MB avail=14038MB used=11860MB (45.8%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.35 1.82 1.61 6/1702 4870" → 1m=2.35 5m=1.82 15m=1.61
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 52.2°C (hwmon2)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetInfo done in 68ms — mem=11860MB/25898MB (45.8%), rootDisk=11.5GB/68.4GB (17.7%), load=2.35/1.82/1.61, temp=52.2°C (hwmon2), cpu=18.6%
2026/10/25 16:20:24 healthcheck.go:128: [DEBUG] [monitor] Raw values: disk=17.7%, hdd=23.9% (configured=true), mem=45.8% (11860MB/25898MB), cpu=18.6%, temp=52.2°C (hwmon2)
2026/10/25 16:20:24 healthcheck.go:409: [DEBUG] [monitor] SSD disk: OK (18%)
2026/10/25 16:20:24 healthcheck.go:445: [DEBUG] [monitor] Memory: OK (46%)
2026/10/25 16:20:24 healthcheck.go:464: [DEBUG] [monitor] CPU: OK (19%)
2026/10/25 16:20:24 healthcheck.go:483: [DEBUG] [monitor] Temperature: OK (52°C)
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=true composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:20:24 healthcheck.go:145: [DEBUG] [monitor] Docker daemon: OK
2026/10/25 16:20:24 healthcheck.go:153: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/10/25 16:20:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:20:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:20:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:20:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (4 deployed, 66 available)
2026/10/25 16:20:24 healthcheck.go:161: [DEBUG] [monitor] All protected containers running
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/audiobookshelf" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/immich" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/calibre-web" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:20:24 healthcheck.go:176: [INFO] [monitor] Health check: status=warn
2026/10/25 16:20:24 healthcheck.go:180: [DEBUG] [monitor] Final status: warn (issues=0, warnings=10, info=5)
2026/10/25 16:20:24 notifier.go:1467: [DEBUG] notifier disabled: dropped event health_change (severity warning)
2026/10/25 16:20:24 scheduler.go:467: [INFO] [scheduler] Job system-health completed (took 159ms)
2026/10/25 16:20:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 163ms)
2026/10/25 16:20:24 scheduler.go:467: [INFO] [scheduler] Job docker-socket-users completed (took 164ms)
2026/10/25 16:20:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sizing-bench → [immich]
2026/10/25 16:20:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/10/25 16:20:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [privatebin, vikunja]
2026/10/25 16:20:24 backup.go:1243: [INFO] [backup] Found 3 DB dump files across drives
2026/10/25 16:20:24 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/10/25 16:20:24 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 477e03387a20 vikunja vikunja vikunja/vikunja:2.6.0
8575ef789979 paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
7e0c8a343939 paperless-postgres paperless-ngx postgres:18-alpine
86de64e5f879 paperless-redis paperless-ngx redis:7-alpine
d3896757721b immich-server immich ghcr.io/immich-app/immich-server:v3.2.4
ab39311da374 immich-postgres immich ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
c8508473ae6c immich-machine-learning immich ghcr.io/immich-app...
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.6.0, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/10/25 16:20:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=7e0c8a343939)
2026/10/25 16:20:24 dbdump.go:915: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/10/25 16:20:24 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-server (image=ghcr.io/immich-app/immich-server:v3.2.4, not a database)
2026/10/25 16:20:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: immich-postgres (id=ab39311da374)
2026/10/25 16:20:24 dbdump.go:198: [DEBUG] DiscoverDatabases: immich-postgres → stack=immich, dbUser=immich, dbName=immich
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-machine-learning (image=ghcr.io/immich-app/immich-machine-learning:v3.2.4, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-redis (image=redis:7-alpine, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.343.0-rc.6, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.5.6-stable, not a database)
2026/10/25 16:20:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.7.13, not a database)
2026/10/25 16:20:24 dbdump.go:205: [DEBUG] DiscoverDatabases: found 2 database(s), skipped 9 non-DB container(s)
2026/10/25 16:20:24 dbdump.go:208: [INFO] [backup] Discovered 2 databases
2026/10/25 16:20:24 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:20:24 infra.go:97: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:20:25 [INFO] [backup] Discovered app data: 4 apps
2026/10/25 16:20:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:20:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:20:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:20:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.5 GB avail=53.4GB (17.7%)
2026/10/25 16:20:25 backup.go:1314: [INFO] [backup] Backup status cache refreshed
2026/10/25 16:20:25 scheduler.go:467: [INFO] [scheduler] Job backup-cache completed (took 441ms)
2026/10/25 16:20:32 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:20:42 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:44 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:52 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:20:52 restore_verdict.go:233: [INFO] [backup] vikunja: ran stably for 3m0s after its unit restore — the restore copy is released (R-1270)
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:20:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:20:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:20:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:20:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:20:54 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:21:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:04 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:21:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:21:06 auth.go:144: [DEBUG] [web] auth: valid session for POST /api/export/start
2026/10/25 16:21:06 handler_export.go:161: [DEBUG] [web] apiExportStart: stack="vikunja" drive="/mnt/felhom-drives/scratch_hdd" encrypted=false stopApp=false
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] StartExport: stack="vikunja" dest="/mnt/felhom-drives/scratch_hdd" password=false stopApp=false
2026/10/25 16:21:06 handler_export.go:207: [INFO] [web] Export started for vikunja to /mnt/felhom-drives/scratch_hdd
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] === EXPORT START: stack="vikunja" dest="/mnt/felhom-drives/scratch_hdd" encrypted=false stopApp=false ===
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] export dest dir: /mnt/felhom-drives/scratch_hdd/exports
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] EstimateExport: stack=vikunja stackDir=/opt/docker/stacks/vikunja destDrive=/mnt/felhom-drives/scratch_hdd
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] EstimateExport: configSize=17.7 KB (18097 bytes)
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] EstimateExport: Docker volumes: [vikunja_vikunja_data vikunja_vikunja_db]
2026/10/25 16:21:06 export.go:166: [DEBUG] [appexport] EstimateExport: volume vikunja_vikunja_data = 4.0 KB
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] EstimateExport: volume vikunja_vikunja_db = 2.5 MB
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] EstimateExport: total=2.5 MB free=677.7 GB fits=true needed=2.8 MB minutes=1
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] estimate: config=17.7 KB data=2.5 MB total=2.5 MB destFree=677.7 GB fits=true unknown=false
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] skip stop: stopApp=false isRunning=true
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] step 0 (preparation) done in 958.820112ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] temp dir: /tmp/felhom-export-3189329603
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] stack dir: /opt/docker/stacks/vikunja
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] config files copied: [.felhom.yml app.yaml applied-compose.yml docker-compose.yml] (4 files)
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] step 1 (config) done in 21.715684ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] manifest: app=vikunja display=Vikunja needsHDD=false encrypted=false
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] discovering databases (looking for stack vikunja)...
2026/10/25 16:21:07 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/10/25 16:21:07 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 477e03387a20 vikunja vikunja vikunja/vikunja:2.6.0
8575ef789979 paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
7e0c8a343939 paperless-postgres paperless-ngx postgres:18-alpine
86de64e5f879 paperless-redis paperless-ngx redis:7-alpine
d3896757721b immich-server immich ghcr.io/immich-app/immich-server:v3.2.4
ab39311da374 immich-postgres immich ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
c8508473ae6c immich-machine-learning immich ghcr.io/immich-app...
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container vikunja (image=vikunja/vikunja:2.6.0, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/10/25 16:21:07 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=7e0c8a343939)
2026/10/25 16:21:07 dbdump.go:915: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/10/25 16:21:07 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-server (image=ghcr.io/immich-app/immich-server:v3.2.4, not a database)
2026/10/25 16:21:07 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: immich-postgres (id=ab39311da374)
2026/10/25 16:21:07 dbdump.go:198: [DEBUG] DiscoverDatabases: immich-postgres → stack=immich, dbUser=immich, dbName=immich
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-machine-learning (image=ghcr.io/immich-app/immich-machine-learning:v3.2.4, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-redis (image=redis:7-alpine, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.343.0-rc.6, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.5.6-stable, not a database)
2026/10/25 16:21:07 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.7.13, not a database)
2026/10/25 16:21:07 dbdump.go:205: [DEBUG] DiscoverDatabases: found 2 database(s), skipped 9 non-DB container(s)
2026/10/25 16:21:07 dbdump.go:208: [INFO] [backup] Discovered 2 databases
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] found 2 databases total
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] db[0]: stack=paperless-ngx container=paperless-postgres type=postgres
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] db[1]: stack=immich container=immich-postgres type=postgres
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] no database container found for stack vikunja
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] no database found for vikunja — skipping DB step
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] step 2 (database) done in 91.039561ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] exporting Docker volumes for vikunja
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] Docker volumes for vikunja: [vikunja_vikunja_data vikunja_vikunja_db] (2 total)
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] exporting volume vikunja_vikunja_data via docker cp streaming...
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] volume vikunja_vikunja_data exported: 1.5 KB in 211.297511ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] exporting volume vikunja_vikunja_db via docker cp streaming...
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] volume vikunja_vikunja_db exported: 2.5 MB in 330.046473ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] volume data exported: volumes=[vikunja_vikunja_data vikunja_vikunja_db] hasData=true
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] step 3 (user data) done in 542.012797ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] total bundle content size: 2.5 MB (2654813 bytes)
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] manifest JSON: 505 bytes
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] target .fab path: /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] creating tar.gz: /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab.tmp
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] tar.gz created: /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab.tmp (65.1 KB) in 18.773238ms
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] atomic rename: /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab.tmp → /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab
2026/10/25 16:21:07 export.go:525: [INFO] Export completed: vikunja → /mnt/felhom-drives/scratch_hdd/exports/vikunja_20261025-162107.fab (65.1 KB) in 1.63310276s
2026/10/25 16:21:07 export.go:166: [DEBUG] [appexport] === EXPORT END: stack="vikunja" elapsed=1.634351028s ===
2026/10/25 16:21:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:21:11 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/export/status
2026/10/25 16:21:11 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/export/bundles
2026/10/25 16:21:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:21:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:14 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:21:21 auth.go:144: [DEBUG] [web] auth: valid session for POST /api/export/import
2026/10/25 16:21:21 handler_export.go:328: [DEBUG] [web] apiImportStart: path="/mnt/felhom-drives/scratch_hdd/exports/vikunja-r1279-test.fab" hasPassword=false
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] StartImport: path=/mnt/felhom-drives/scratch_hdd/exports/vikunja-r1279-test.fab size=59.8 KB encrypted=false
2026/10/25 16:21:21 handler_export.go:352: [INFO] [web] Import started from /mnt/felhom-drives/scratch_hdd/exports/vikunja-r1279-test.fab
2026/10/25 16:21:21 restore.go:223: [INFO] [appexport] Import started for vikunja-r1279-test.fab
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] === IMPORT START: path=/mnt/felhom-drives/scratch_hdd/exports/vikunja-r1279-test.fab encrypted=false ===
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] bundle encrypted: false
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] temp dir: /tmp/felhom-import-975442996
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] extracting tar.gz from /mnt/felhom-drives/scratch_hdd/exports/vikunja-r1279-test.fab
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] tar.gz extracted in 5.08433ms
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [dir] ./
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [dir] config/
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] config/.felhom.yml (11.8 KB)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] config/app.yaml (218 B)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] config/applied-compose.yml (2.6 KB)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] config/docker-compose.yml (2.5 KB)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [dir] data/
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [dir] data/volumes/
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] data/volumes/vikunja_vikunja_data.tar (1.5 KB)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] data/volumes/vikunja_vikunja_db.tar (2.5 MB)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] [file] manifest.json (505 B)
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] manifest: app=vikunja display=Vikunja version=1 controller=0.343.0-rc.6 needsHDD=false
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] manifest: hasDB=false dbType= hasHDD=false hasVolume=true totalSize=2.5 MB
2026/10/25 16:21:21 export.go:166: [DEBUG] [appexport] manifest: configFiles=[.felhom.yml app.yaml applied-compose.yml docker-compose.yml] volumes=[vikunja_vikunja_data vikunja_vikunja_db] hddSubdirs=[]
2026/10/25 16:21:21 restore.go:330: [INFO] Import: opening bundle for vikunja (Vikunja)
2026/10/25 16:21:22 restore_pull.go:96: [ERROR] [backup] Restore REFUSED for vikunja before anything was touched: the image vikunja/vikunja:0.0.0-felhom-r1279-missing could not be downloaded (the version does not exist any more; after 1s): exit status 1 — Error response from daemon: manifest for vikunja/vikunja:0.0.0-felhom-r1279-missing not found: manifest unknown: manifest unknown (D48)
2026/10/25 16:21:22 notifier.go:1467: [DEBUG] notifier disabled: dropped event backup_run_failures (severity error)
2026/10/25 16:21:22 restore.go:355: [WARN] Import: REFUSED before anything was touched — an image of vikunja could not be downloaded: Ennek a mentésnek a verzióját (vikunja:0.0.0-felhom-r1279-missing) nem lehet letölteni: a készítője már nem kínálja. Az alkalmazáshoz nem nyúltunk. Válassz egy másik mentést. (R-1279)
2026/10/25 16:21:22 export.go:533: [ERROR] Export/import failed at step 0: Ennek a mentésnek a verzióját (vikunja:0.0.0-felhom-r1279-missing) nem lehet letölteni: a készítője már nem kínálja. Az alkalmazáshoz nem nyúltunk. Válassz egy másik mentést.
2026/10/25 16:21:22 export.go:166: [DEBUG] [appexport] FAIL at step 0: Ennek a mentésnek a verzióját (vikunja:0.0.0-felhom-r1279-missing) nem lehet letölteni: a készítője már nem kínálja. Az alkalmazáshoz nem nyúltunk. Válassz egy másik mentést.
2026/10/25 16:21:22 export.go:166: [DEBUG] [appexport] === IMPORT END: elapsed=1.187041178s ===
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11886MB avail≈14012MB
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16618012 → total=25898MB avail=14012MB used=11886MB (45.9%)
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.5GB avail=53.4GB (17.7%)
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.45 1.92 1.66 3/1681 5442" → 1m=2.45 5m=1.92 15m=1.66
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 52.5°C (hwmon2)
2026/10/25 16:21:24 info.go:13: [DEBUG] [system] GetInfo done in 62ms — mem=11886MB/25898MB (45.9%), rootDisk=11.5GB/68.4GB (17.7%), load=2.45/1.92/1.66, temp=52.5°C (hwmon2), cpu=24.1%
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:21:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:21:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:21:24 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:21:24 main.go:2386: [INFO] [deadapp] check alive: 20 scans since boot, 4 deployed app(s) evaluated, 0 currently down
2026/10/25 16:21:26 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/export/import/status
2026/10/25 16:21:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:34 manager.go:839: [INFO] [stacks] Status refresh: 10 containers across 70 stacks
2026/10/25 16:21:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping vikunja — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (3 skipped not due, 0 skipped no container)
2026/10/25 16:21:38 auth.go:144: [DEBUG] [web] auth: valid session for POST /api/stacks/vikunja/stop
2026/10/25 16:21:38 router.go:78: [DEBUG] [api] POST /api/stacks/vikunja/stop (path=/stacks/vikunja/stop)
2026/10/25 16:21:38 router.go:663: [INFO] [api] stop requested for stack: vikunja
2026/10/25 16:21:38 router.go:78: [DEBUG] [api] actionStack: action=stop name=vikunja
2026/10/25 16:21:38 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
2026/10/25 16:21:38 desiredstate.go:81: [INFO] [stacks] desired state for vikunja recorded as "stopped" (was "running")
2026/10/25 16:21:38 [INFO] [stacks] SaveAppConfig: saved config for vikunja
2026/10/25 16:21:38 manager.go:1439: [DEBUG] [stacks] StopStack vikunja: current state=running deployed=true containers=1
2026/10/25 16:21:38 manager.go:1442: [INFO] [stacks] Stopping stack: vikunja
2026/10/25 16:21:38 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:21:38 manager.go:1697: [DEBUG] Running: docker compose down (in /opt/docker/stacks/vikunja)
2026/10/25 16:21:39 manager.go:1719: [DEBUG] Command completed: docker compose down (took 0.3s)
2026/10/25 16:21:39 manager.go:1451: [INFO] [stacks] Stack vikunja stopped successfully (took 0.3s)
2026/10/25 16:21:39 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:21:39 lifecycle.go:24: [DEBUG] [integrations] OnStackStop: stack=vikunja integrationsFound=0
2026/10/25 16:21:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:21:44 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
2026/10/25 16:21:44 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
2026/10/25 16:21:44 auth.go:144: [DEBUG] [web] auth: valid session for POST /api/stacks/vikunja/remove
2026/10/25 16:21:44 router.go:78: [DEBUG] [api] POST /api/stacks/vikunja/remove (path=/stacks/vikunja/remove)
2026/10/25 16:21:44 router.go:1025: [INFO] [api] Remove requested for stack: vikunja
2026/10/25 16:21:44 router.go:78: [DEBUG] [api] removeStack: name=vikunja
2026/10/25 16:21:44 router.go:78: [DEBUG] [api] removeStack: name=vikunja removeHDDData=true removeBackups=true
2026/10/25 16:21:44 delete.go:626: [DEBUG] [stacks] RemoveStack called: name="vikunja", removeHDDData=true, backupPathsToRemove=3
2026/10/25 16:21:44 delete.go:640: [DEBUG] [stacks] RemoveStack vikunja: state=stopped, deployed=true, orphaned=false, deploying=false
2026/10/25 16:21:44 delete.go:697: [INFO] Removing deployed stack: vikunja (removeHDDData=true, hddDeclared=false, backupPaths=3)
2026/10/25 16:21:44 delete.go:710: [DEBUG] [stacks] RemoveStack vikunja: found 0 HDD mounts from compose file
2026/10/25 16:21:44 manager.go:1688: [DEBUG] Env vars for compose: [PATH, HOSTNAME, FELHOM_BOOTSTRAP_PATH, HOME, DOMAIN, SUBDOMAIN, VIKUNJA_SERVICE_JWTSECRET, DOMAIN, IMPORT_PATH] (9 app + 0 system)
2026/10/25 16:21:44 manager.go:1697: [DEBUG] Running: docker compose down --volumes (in /opt/docker/stacks/vikunja)
2026/10/25 16:21:44 manager.go:1719: [DEBUG] Command completed: docker compose down --volumes (took 0.1s)
2026/10/25 16:21:44 delete.go:736: [DEBUG] [stacks] RemoveStack vikunja: compose down output:
2026/10/25 16:21:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:21:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:21:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:21:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:21:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:21:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:22:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:22:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:22:10 delete.go:774: [INFO] [stacks] RemoveStack vikunja: removed volume(s) [vikunja_vikunja_data vikunja_vikunja_db]
2026/10/25 16:22:10 delete.go:837: [DEBUG] [stacks] RemoveStack vikunja: processing 3 backup paths for removal (base=/mnt/sys_drive/felhom-data/backups)
2026/10/25 16:22:10 delete.go:854: [INFO] Removed backup data: /mnt/sys_drive/felhom-data/backups/primary/vikunja (2.6M)
2026/10/25 16:22:10 delete.go:862: [DEBUG] [stacks] RemoveStack vikunja: removing app.yaml at /opt/docker/stacks/vikunja/app.yaml
2026/10/25 16:22:10 delete.go:879: [INFO] Stack vikunja removed successfully (took 26.7s)
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:22:10 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=false composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:22:11 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:22:11 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:22:11 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:22:11 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (3 deployed, 67 available)
2026/10/25 16:22:11 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:11 notifier.go:1463: [WARN] notifier disabled (no hub configured): DROPPED event app_removed (severity info) — further app_removed events are logged at DEBUG only
2026/10/25 16:22:11 lifecycle.go:176: [DEBUG] [integrations] OnStackRemove: stack=vikunja integrationsFound=0
2026/10/25 16:22:11 image_retention.go:265: [INFO] [stacks] image retention (remove of vikunja): deleted [vikunja/vikunja:<none>] (0838aba019fa, 119MB) — no container, installed app or undo names it (decision 53)
2026/10/25 16:22:11 image_retention.go:238: [INFO] [stacks] image retention (remove of vikunja): pass over 43 image(s) of [vikunja/vikunja] — 1 candidate(s), 1 deleted, the rest kept
2026/10/25 16:22:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:22:16 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
2026/10/25 16:22:16 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈12007MB avail≈13891MB
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16473244 → total=25898MB avail=13891MB used=12007MB (46.4%)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="2.23 1.96 1.69 9/1665 5955" → 1m=2.23 5m=1.96 15m=1.69
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 53.4°C (hwmon2)
2026/10/25 16:22:24 info.go:13: [DEBUG] [system] GetInfo done in 64ms — mem=12007MB/25898MB (46.4%), rootDisk=11.4GB/68.4GB (17.5%), load=2.23/1.96/1.69, temp=53.4°C (hwmon2), cpu=18.7%
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:22:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:22:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:22:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:22:24 setup_gate.go:492: [INFO] [stacks] vikunja: removed a setup-gate file for an app whose gate is not closed
2026/10/25 16:22:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=false composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:22:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:22:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:22:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:22:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (3 deployed, 67 available)
2026/10/25 16:22:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 111ms)
2026/10/25 16:22:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:22:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:22:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:22:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:44 healthprobe.go:187: [DEBUG] Health probe immich: API GET :2283/api/server/ping → 200 (2ms)
2026/10/25 16:22:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:44 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:22:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:22:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:22:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:22:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:23:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:23:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11768MB avail≈14130MB
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16757624 → total=25898MB avail=14130MB used=11768MB (45.4%)
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.57 1.85 1.67 6/1652 6133" → 1m=1.57 5m=1.85 15m=1.67
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:23:24 info.go:13: [DEBUG] [system] GetInfo done in 65ms — mem=11768MB/25898MB (45.4%), rootDisk=11.4GB/68.4GB (17.5%), load=1.57/1.85/1.67, temp=50.9°C (hwmon1), cpu=9.7%
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:23:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:23:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:23:24 healthprobe.go:187: [DEBUG] Health probe paperless-ngx: HTTP GET :8000/ → 302 (4ms)
2026/10/25 16:23:24 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:23:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:23:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:23:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:23:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:23:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:23:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:23:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:23:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:24:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11787MB avail≈14111MB
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16734384 → total=25898MB avail=14111MB used=11787MB (45.5%)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="0.94 1.62 1.60 3/1651 6293" → 1m=0.94 5m=1.62 15m=1.60
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:24:24 info.go:13: [DEBUG] [system] GetInfo done in 63ms — mem=11787MB/25898MB (45.5%), rootDisk=11.4GB/68.4GB (17.5%), load=0.94/1.62/1.60, temp=50.9°C (hwmon1), cpu=10.0%
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:24:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=false composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:24:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:24:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:24:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:24:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (3 deployed, 67 available)
2026/10/25 16:24:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 99ms)
2026/10/25 16:24:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:24:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:24:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:24:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:24:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:24:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:24:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:25:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 1m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:24 sync.go:228: [INFO] [sync] Starting catalog sync
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:25:24 sync.go:358: [INFO] [sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git (branch: main)
2026/10/25 16:25:24 sync.go:360: [DEBUG] [sync] git fetch --depth 1 origin main in /opt/docker/felhom-controller/data/catalog-cache
2026/10/25 16:25:24 sync.go:787: [DEBUG] [sync] Running: git fetch --depth 1 origin main
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11779MB avail≈14119MB
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16745348 → total=25898MB avail=14119MB used=11779MB (45.5%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.07 1.53 1.57 9/1668 6477" → 1m=1.07 5m=1.53 15m=1.57
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetInfo done in 67ms — mem=11779MB/25898MB (45.5%), rootDisk=11.4GB/68.4GB (17.5%), load=1.07/1.53/1.57, temp=50.9°C (hwmon1), cpu=9.7%
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:25:24 scheduler.go:450: [INFO] [scheduler] Running job: docker-socket-users
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-users: execution starting
2026/10/25 16:25:24 scheduler.go:450: [INFO] [scheduler] Running job: offsite-credential-retry
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job offsite-credential-retry: execution starting
2026/10/25 16:25:24 scheduler.go:467: [INFO] [scheduler] Job offsite-credential-retry completed (took 0s)
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:24 scheduler.go:450: [INFO] [scheduler] Running job: system-health
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job system-health: execution starting
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:25:24 scheduler.go:450: [INFO] [scheduler] Running job: backup-cache
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job backup-cache: execution starting
2026/10/25 16:25:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sizing-bench → [immich]
2026/10/25 16:25:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx → [paperless-ngx]
2026/10/25 16:25:24 backup.go:537: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [privatebin]
2026/10/25 16:25:24 backup.go:1243: [INFO] [backup] Found 3 DB dump files across drives
2026/10/25 16:25:24 dbdump.go:130: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11787MB avail≈14111MB
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16735192 → total=25898MB avail=14111MB used=11787MB (45.5%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.07 1.53 1.57 16/1702 6561" → 1m=1.07 5m=1.53 15m=1.57
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 54.0°C (hwmon2)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetInfo done in 73ms — mem=11787MB/25898MB (45.5%), rootDisk=11.4GB/68.4GB (17.5%), load=1.07/1.53/1.57, temp=54.0°C (hwmon2), cpu=9.7%
2026/10/25 16:25:24 healthcheck.go:128: [DEBUG] [monitor] Raw values: disk=17.5%, hdd=23.9% (configured=true), mem=45.5% (11787MB/25898MB), cpu=9.7%, temp=54.0°C (hwmon2)
2026/10/25 16:25:24 healthcheck.go:409: [DEBUG] [monitor] SSD disk: OK (18%)
2026/10/25 16:25:24 healthcheck.go:445: [DEBUG] [monitor] Memory: OK (46%)
2026/10/25 16:25:24 healthcheck.go:464: [DEBUG] [monitor] CPU: OK (10%)
2026/10/25 16:25:24 healthcheck.go:483: [DEBUG] [monitor] Temperature: OK (54°C)
2026/10/25 16:25:24 dbdump.go:149: [DEBUG] DiscoverDatabases: docker ps output: 8575ef789979 paperless-webserver paperless-ngx ghcr.io/paperless-ngx/paperless-ngx:2.20.15
7e0c8a343939 paperless-postgres paperless-ngx postgres:18-alpine
86de64e5f879 paperless-redis paperless-ngx redis:7-alpine
d3896757721b immich-server immich ghcr.io/immich-app/immich-server:v3.2.4
ab39311da374 immich-postgres immich ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
c8508473ae6c immich-machine-learning immich ghcr.io/immich-app/immich-machine-learning:v3.2.4
20a0f476a367 immich...
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-webserver (image=ghcr.io/paperless-ngx/paperless-ngx:2.20.15, not a database)
2026/10/25 16:25:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: paperless-postgres (id=7e0c8a343939)
2026/10/25 16:25:24 dbdump.go:915: [DEBUG] DiscoverDatabases: paperless-postgres → stack "paperless-ngx" from the compose project label (the container name would have given "paperless")
2026/10/25 16:25:24 dbdump.go:198: [DEBUG] DiscoverDatabases: paperless-postgres → stack=paperless-ngx, dbUser=paperless, dbName=paperless
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container paperless-redis (image=redis:7-alpine, not a database)
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-server (image=ghcr.io/immich-app/immich-server:v3.2.4, not a database)
2026/10/25 16:25:24 dbdump.go:178: [DEBUG] DiscoverDatabases: found postgres container: immich-postgres (id=ab39311da374)
2026/10/25 16:25:24 healthcheck.go:145: [DEBUG] [monitor] Docker daemon: OK
2026/10/25 16:25:24 healthcheck.go:153: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/10/25 16:25:24 dbdump.go:198: [DEBUG] DiscoverDatabases: immich-postgres → stack=immich, dbUser=immich, dbName=immich
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-machine-learning (image=ghcr.io/immich-app/immich-machine-learning:v3.2.4, not a database)
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container immich-redis (image=redis:7-alpine, not a database)
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.343.0-rc.6, not a database)
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.5.6-stable, not a database)
2026/10/25 16:25:24 dbdump.go:171: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.7.13, not a database)
2026/10/25 16:25:24 dbdump.go:205: [DEBUG] DiscoverDatabases: found 2 database(s), skipped 8 non-DB container(s)
2026/10/25 16:25:24 dbdump.go:208: [INFO] [backup] Discovered 2 databases
2026/10/25 16:25:24 [INFO] [stacks] ParseComposeHDDMounts: found 1 HDD mounts for /opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:25:24 scheduler.go:467: [INFO] [scheduler] Job docker-socket-users completed (took 180ms)
2026/10/25 16:25:24 healthcheck.go:161: [DEBUG] [monitor] All protected containers running
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/nextcloud" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/romm" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/navidrome" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/audiobookshelf" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/immich" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/calibre-web" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:24 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:25:24 healthcheck.go:176: [INFO] [monitor] Health check: status=warn
2026/10/25 16:25:24 healthcheck.go:180: [DEBUG] [monitor] Final status: warn (issues=0, warnings=10, info=5)
2026/10/25 16:25:24 notifier.go:1467: [DEBUG] notifier disabled: dropped event health_change (severity warning)
2026/10/25 16:25:24 scheduler.go:467: [INFO] [scheduler] Job system-health completed (took 181ms)
2026/10/25 16:25:24 sync.go:787: [DEBUG] [sync] Running: git reset --hard origin/main
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] actualbudget/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] actualbudget/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] adventurelog/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] adventurelog/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] audiobookshelf/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] audiobookshelf/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] bentopdf/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] bentopdf/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] bookstack/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] bookstack/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] calcom/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] calcom/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] calibre-web/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] calibre-web/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] claper/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] claper/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] code-server/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] code-server/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] crafty-controller/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] crafty-controller/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] dawarich/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] dawarich/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] docmost/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] docmost/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] emby/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] emby/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] ghost/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] ghost/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gitea/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gitea/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] glance/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] glance/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gokapi/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gokapi/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grafana/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grafana/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gramps-web/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] gramps-web/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grimmory/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grimmory/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grocy/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] grocy/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] home-assistant/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] home-assistant/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] homebox/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] homebox/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] homepage/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] homepage/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 allowlist.go:126: [WARN] [stacks] immich: definition REFUSED by the allow-list (R-971), nothing written: the catalog definition of immich asks for container rights the box does not allow: immich-server: bind /mnt/sizing-bench/appdata/immich -> /usr/src/app/upload rw; immich-server: bind /mnt/sizing-bench/userdata/media/photos -> /external/photos ro
2026/10/25 16:25:24 sync.go:511: [WARN] [sync] immich: catalog definition REFUSED by the allow-list — the app keeps its last good compose, nothing written: the catalog definition of immich asks for container rights the box does not allow: immich-server: bind /mnt/sizing-bench/appdata/immich -> /usr/src/app/upload rw; immich-server: bind /mnt/sizing-bench/userdata/media/photos -> /external/photos ro
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] jellyfin/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] jellyfin/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] karakeep/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] karakeep/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] kimai/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] kimai/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] komga/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] komga/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] lubelogger/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] lubelogger/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] mealie/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] mealie/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] metube/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] metube/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] n8n/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] n8n/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] navidrome/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] navidrome/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] nextcloud/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] nextcloud/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] nzbget/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] nzbget/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] onlyoffice/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] onlyoffice/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] opengist/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] opengist/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] outline/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] outline/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] paperless-ngx/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] paperless-ngx/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] papra/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] papra/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] plant-it/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] plant-it/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] plex/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] plex/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 infra.go:97: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] privatebin/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] privatebin/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] prowlarr/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] prowlarr/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] qbittorrent/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] qbittorrent/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] radarr/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] radarr/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] radicale/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] radicale/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] rallly/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] rallly/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] recipe-importer/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] recipe-importer/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] romm/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] romm/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sabnzbd/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sabnzbd/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] seerr/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] seerr/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sonarr/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sonarr/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sparkyfitness/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] sparkyfitness/.felhom.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] tandoor/docker-compose.yml: hash match, skipped
2026/10/25 16:25:24 sync.go:559: [DEBUG] [sync] tandoor/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] termix/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] termix/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] transmission/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] transmission/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] uptime-kuma/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] uptime-kuma/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] vaultwarden/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] vaultwarden/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] vikunja/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] vikunja/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wanderer/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wanderer/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 2 HDD mounts for /opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wger/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wger/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wishlist/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] wishlist/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] zipline/docker-compose.yml: hash match, skipped
2026/10/25 16:25:25 sync.go:559: [DEBUG] [sync] zipline/.felhom.yml: hash match, skipped
2026/10/25 16:25:25 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:25:25 [INFO] [backup] Discovered app data: 3 apps
2026/10/25 16:25:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sizing-bench" total=31.2 GB used=2.7 GB avail=26.9GB (9.1%)
2026/10/25 16:25:25 sync.go:299: [INFO] [sync] Catalog sync complete
2026/10/25 16:25:25 sync.go:155: [INFO] [sync] Periodic sync: Sablonok naprakészek — nincs változás
2026/10/25 16:25:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd/userdata/paperless-ngx" total=937.8 GB used=212.4 GB avail=677.7GB (23.9%)
2026/10/25 16:25:25 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=11.4 GB avail=53.5GB (17.5%)
2026/10/25 16:25:25 backup.go:1314: [INFO] [backup] Backup status cache refreshed
2026/10/25 16:25:25 scheduler.go:467: [INFO] [scheduler] Job backup-cache completed (took 351ms)
2026/10/25 16:25:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:25:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:25:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:25:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:25:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:25:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:25:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:26:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:26:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 2m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11799MB avail≈14099MB
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16720272 → total=25898MB avail=14099MB used=11799MB (45.6%)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.31 1.49 1.55 6/1655 6845" → 1m=1.31 5m=1.49 15m=1.55
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 50.9°C (hwmon1)
2026/10/25 16:26:24 info.go:13: [DEBUG] [system] GetInfo done in 67ms — mem=11799MB/25898MB (45.6%), rootDisk=11.4GB/68.4GB (17.5%), load=1.31/1.49/1.55, temp=50.9°C (hwmon1), cpu=12.5%
2026/10/25 16:26:24 scheduler.go:450: [INFO] [scheduler] Running job: stack-scan
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job stack-scan: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:26:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaoscrash" deployed=false composePath=/opt/docker/stacks/chaoscrash/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoom" deployed=false composePath=/opt/docker/stacks/chaosoom/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "chaosoomb" deployed=false composePath=/opt/docker/stacks/chaosoomb/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "dawarich" deployed=false composePath=/opt/docker/stacks/dawarich/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grimmory" deployed=false composePath=/opt/docker/stacks/grimmory/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "grocy" deployed=false composePath=/opt/docker/stacks/grocy/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=true composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "karakeep" deployed=false composePath=/opt/docker/stacks/karakeep/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "lubelogger" deployed=false composePath=/opt/docker/stacks/lubelogger/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "metube" deployed=false composePath=/opt/docker/stacks/metube/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "nzbget" deployed=false composePath=/opt/docker/stacks/nzbget/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=true composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=true composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "prowlarr" deployed=false composePath=/opt/docker/stacks/prowlarr/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "qbittorrent" deployed=false composePath=/opt/docker/stacks/qbittorrent/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "radicale" deployed=false composePath=/opt/docker/stacks/radicale/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sabnzbd" deployed=false composePath=/opt/docker/stacks/sabnzbd/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "transmission" deployed=false composePath=/opt/docker/stacks/transmission/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=false composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=false composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/10/25 16:26:24 manager.go:676: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/10/25 16:26:24 manager.go:1960: [DEBUG] [stacks] getCatalogTemplateSlugs: found 65 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/10/25 16:26:24 manager.go:757: [DEBUG] [stacks] ScanStacks: catalog has 65 template slugs for orphan detection
2026/10/25 16:26:24 manager.go:788: [INFO] [stacks] ScanStacks complete: 70 stacks found (3 deployed, 67 available)
2026/10/25 16:26:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:24 scheduler.go:467: [INFO] [scheduler] Job stack-scan completed (took 107ms)
2026/10/25 16:26:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:26:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:26:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:26:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:26:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:26:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:26:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:26:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:27:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 3m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714380KB) → used≈11782MB avail≈14116MB
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714380 availKB=16740592 → total=25898MB avail=14116MB used=11782MB (45.5%)
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=11.4GB avail=53.5GB (17.5%)
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=212.4GB avail=677.7GB (23.9%)
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.44 1.48 1.54 8/1656 7013" → 1m=1.44 5m=1.48 15m=1.54
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 51.0°C (hwmon0)
2026/10/25 16:27:24 info.go:13: [DEBUG] [system] GetInfo done in 67ms — mem=11782MB/25898MB (45.5%), rootDisk=11.4GB/68.4GB (17.5%), load=1.44/1.48/1.54, temp=51.0°C (hwmon0), cpu=11.6%
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:27:24 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:27:24 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:27:24 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:24 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:34 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:34 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:34 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:34 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:34 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:39 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:27:44 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:44 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 5m0s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:44 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:44 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:27:44 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job after-unclean-boot: execution starting
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job deadapp-check: execution starting
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job ring-spill: execution starting
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:27:54 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:27:54 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:27:54 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m30s ago, effective interval 5m0s, healthy=true
2026/10/25 16:27:54 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (1 skipped not due, 0 skipped no container)
2026/10/25 16:27:54 healthprobe.go:187: [DEBUG] Health probe immich: API GET :2283/api/server/ping → 200 (2ms)
2026/10/25 16:27:54 healthprobe.go:167: [INFO] Health probes: 1 ok (of 1 probed)
2026/10/25 16:28:04 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:28:04 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:28:04 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:28:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m40s ago, effective interval 5m0s, healthy=true
2026/10/25 16:28:04 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 10s ago, effective interval 5m0s, healthy=true
2026/10/25 16:28:04 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)
2026/10/25 16:28:09 scheduler.go:85: [DEBUG] [scheduler] job docker-socket-watch: execution starting
2026/10/25 16:28:14 scheduler.go:85: [DEBUG] [scheduler] job status-refresh: execution starting
2026/10/25 16:28:14 scheduler.go:85: [DEBUG] [scheduler] job health-probes: execution starting
2026/10/25 16:28:14 manager.go:839: [INFO] [stacks] Status refresh: 9 containers across 70 stacks
2026/10/25 16:28:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping paperless-ngx — last check 4m50s ago, effective interval 5m0s, healthy=true
2026/10/25 16:28:14 healthprobe.go:64: [DEBUG] [stacks] RunHealthProbes: skipping immich — last check 20s ago, effective interval 5m0s, healthy=true
2026/10/25 16:28:14 healthprobe.go:110: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (2 skipped not due, 0 skipped no container)