perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "UTF-8",
	LC_NUMERIC = (unset),
	LC_COLLATE = (unset),
	LC_TIME = (unset),
	LC_MESSAGES = (unset),
	LC_MONETARY = (unset),
	LC_ADDRESS = (unset),
	LC_IDENTIFICATION = (unset),
	LC_MEASUREMENT = (unset),
	LC_PAPER = (unset),
	LC_TELEPHONE = (unset),
	LC_NAME = (unset),
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
2026/09/21 11:06:12 main.go:334: [INFO] felhom-controller 0.260.0 starting (customer: demo-hp, domain: enkisfelhom.hu)
2026/09/21 11:06:12 settings.go:693: [INFO] [settings] Loaded settings from /opt/docker/felhom-controller/data/settings.json
2026/09/21 11:06:12 settings.go:1611: [DEBUG] [settings] AutoDiscoverStoragePaths discovered=[] fallback="" existing=1
2026/09/21 11:06:12 main.go:360: [INFO] Encryption key loaded from /opt/docker/felhom-controller/data/encryption.key
2026/09/21 11:06:12 manager.go:283: [INFO] [stacks] Using compose command: docker compose
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "actualbudget" deployed=false composePath=/opt/docker/stacks/actualbudget/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "adventurelog" deployed=false composePath=/opt/docker/stacks/adventurelog/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "audiobookshelf" deployed=false composePath=/opt/docker/stacks/audiobookshelf/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "bentopdf" deployed=false composePath=/opt/docker/stacks/bentopdf/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "bookstack" deployed=false composePath=/opt/docker/stacks/bookstack/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "calcom" deployed=false composePath=/opt/docker/stacks/calcom/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "calibre-web" deployed=false composePath=/opt/docker/stacks/calibre-web/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "claper" deployed=false composePath=/opt/docker/stacks/claper/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "code-server" deployed=false composePath=/opt/docker/stacks/code-server/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "crafty-controller" deployed=false composePath=/opt/docker/stacks/crafty-controller/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "docmost" deployed=false composePath=/opt/docker/stacks/docmost/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "emby" deployed=false composePath=/opt/docker/stacks/emby/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "filebrowser" deployed=false composePath=/opt/docker/stacks/filebrowser/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "ghost" deployed=false composePath=/opt/docker/stacks/ghost/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "gitea" deployed=false composePath=/opt/docker/stacks/gitea/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "glance" deployed=false composePath=/opt/docker/stacks/glance/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "gokapi" deployed=false composePath=/opt/docker/stacks/gokapi/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "grafana" deployed=false composePath=/opt/docker/stacks/grafana/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "gramps-web" deployed=false composePath=/opt/docker/stacks/gramps-web/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "home-assistant" deployed=false composePath=/opt/docker/stacks/home-assistant/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "homebox" deployed=false composePath=/opt/docker/stacks/homebox/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "homepage" deployed=false composePath=/opt/docker/stacks/homepage/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "immich" deployed=false composePath=/opt/docker/stacks/immich/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "jellyfin" deployed=false composePath=/opt/docker/stacks/jellyfin/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "kimai" deployed=false composePath=/opt/docker/stacks/kimai/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "komga" deployed=false composePath=/opt/docker/stacks/komga/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "mealie" deployed=false composePath=/opt/docker/stacks/mealie/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "n8n" deployed=false composePath=/opt/docker/stacks/n8n/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "navidrome" deployed=false composePath=/opt/docker/stacks/navidrome/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "nextcloud" deployed=false composePath=/opt/docker/stacks/nextcloud/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "onlyoffice" deployed=false composePath=/opt/docker/stacks/onlyoffice/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "opengist" deployed=false composePath=/opt/docker/stacks/opengist/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "outline" deployed=false composePath=/opt/docker/stacks/outline/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "paperless-ngx" deployed=false composePath=/opt/docker/stacks/paperless-ngx/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "papra" deployed=false composePath=/opt/docker/stacks/papra/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "plant-it" deployed=false composePath=/opt/docker/stacks/plant-it/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "plex" deployed=false composePath=/opt/docker/stacks/plex/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "privatebin" deployed=false composePath=/opt/docker/stacks/privatebin/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "radarr" deployed=false composePath=/opt/docker/stacks/radarr/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "rallly" deployed=false composePath=/opt/docker/stacks/rallly/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "recipe-importer" deployed=false composePath=/opt/docker/stacks/recipe-importer/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "romm" deployed=false composePath=/opt/docker/stacks/romm/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "seerr" deployed=false composePath=/opt/docker/stacks/seerr/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "sonarr" deployed=false composePath=/opt/docker/stacks/sonarr/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "sparkyfitness" deployed=false composePath=/opt/docker/stacks/sparkyfitness/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "tandoor" deployed=false composePath=/opt/docker/stacks/tandoor/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "termix" deployed=false composePath=/opt/docker/stacks/termix/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "traefik" deployed=false composePath=/opt/docker/stacks/traefik/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "uptime-kuma" deployed=true composePath=/opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "vaultwarden" deployed=false composePath=/opt/docker/stacks/vaultwarden/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "vikunja" deployed=false composePath=/opt/docker/stacks/vikunja/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "wanderer" deployed=false composePath=/opt/docker/stacks/wanderer/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "wger" deployed=false composePath=/opt/docker/stacks/wger/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "wishlist" deployed=false composePath=/opt/docker/stacks/wishlist/docker-compose.yml
2026/09/21 11:06:12 manager.go:563: [DEBUG] [stacks] ScanStacks: found stack "zipline" deployed=false composePath=/opt/docker/stacks/zipline/docker-compose.yml
2026/09/21 11:06:12 manager.go:1620: [DEBUG] [stacks] getCatalogTemplateSlugs: found 53 template slugs in /opt/docker/felhom-controller/data/catalog-cache/templates
2026/09/21 11:06:12 manager.go:630: [DEBUG] [stacks] ScanStacks: catalog has 53 template slugs for orphan detection
2026/09/21 11:06:12 manager.go:661: [INFO] [stacks] ScanStacks complete: 55 stacks found (1 deployed, 54 available)
2026/09/21 11:06:12 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
2026/09/21 11:06:12 deploy.go:1086: [DEBUG] [stacks] InjectMissingFields: checking 1 stacks
2026/09/21 11:06:12 deploy.go:1108: [DEBUG] [stacks] InjectMissingFields: checking stack uptime-kuma — 2 deploy fields, 2 existing env vars
2026/09/21 11:06:12 deploy.go:1171: [INFO] [stacks] InjectMissingFields: processed 1 stacks
2026/09/21 11:06:12 manager.go:422: [DEBUG] [stacks] MigrateEncryption: checking 1 deployed stacks for plaintext sensitive values
2026/09/21 11:06:12 manager.go:466: [INFO] [stacks] Encryption migration: no stacks needed migration
2026/09/21 11:06:12 desiredstate.go:137: [INFO] [stacks] desired-state backfill: 0 app(s) recorded as running, 0 left unrecorded (state ambiguous — legacy boot behaviour retained)
2026/09/21 11:06:12 installed.go:525: [INFO] [stacks] installed-images backfill: 0 app(s) recorded, 1 already had a record, 0 left unrecorded (could not be observed completely — unknown, which renders nothing)
2026/09/21 11:06:12 pin.go:289: [INFO] [stacks] pin adoption: 0 pinned, 1 already pinned, 0 left unpinned (0 not completely observed, 0 running something the template no longer offers)
2026/09/21 11:06:12 sync.go:117: [INFO] [sync] Starting catalog sync (repo: https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git, interval: 15m0s)
2026/09/21 11:06:12 sync.go:208: [INFO] [sync] Starting catalog sync
2026/09/21 11:06:12 sync.go:296: [INFO] [sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git (branch: main)
2026/09/21 11:06:12 sync.go:298: [DEBUG] [sync] git fetch --depth 1 origin main in /opt/docker/felhom-controller/data/catalog-cache
2026/09/21 11:06:12 update.go:904: [WARN] [stacks] update recovery: uptime-kuma was interrupted in pulling (started 2026-09-21T11:04:52Z) — nothing had run; putting the pin back
2026/09/21 11:06:12 sync.go:592: [DEBUG] [sync] Running: git fetch --depth 1 origin main
2026/09/21 11:06:12 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/uptime-kuma — 2 env vars, 0 encrypted, 0 sensitive fields
2026/09/21 11:06:12 [INFO] [stacks] SaveAppConfig: saved config for uptime-kuma
2026/09/21 11:06:12 pin.go:93: [INFO] [stacks] pin uptime-kuma: uptime-kuma=louislam/uptime-kuma:2.4.0
2026/09/21 11:06:12 update.go:705: [INFO] [stacks] update uptime-kuma: pin and definition PUT BACK to the pre-update version (uptime-kuma=louislam/uptime-kuma:2.4.0)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] CPUCollector.Start: sampleRate=5s
2026/09/21 11:06:12 main.go:511: [INFO] Metrics store opened at /opt/docker/felhom-controller/data/metrics.db
2026/09/21 11:06:12 main.go:523: [INFO] Metrics collector started (60s interval)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/21 11:06:12 restore_record_wiring.go:35: [INFO] [backup] restore record wired: /opt/docker/felhom-controller/data/restore-status.json (interrupted at startup: false)
2026/09/21 11:06:12 notifier.go:75: [INFO] Notifier disabled (hub not configured)
2026/09/21 11:06:12 main.go:642: [INFO] [mailrelay] app-email shim unavailable (no hub configured or disabled in config)
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: status-refresh (every 10s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="status-refresh" interval=10s totalJobs=1
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: stack-scan (every 2m0s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="stack-scan" interval=2m0s totalJobs=2
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: health-probes (every 10s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="health-probes" interval=10s totalJobs=3
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: system-health (every 5m0s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="system-health" interval=5m0s totalJobs=4
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: deadapp-check (every 30s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="deadapp-check" interval=30s totalJobs=5
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: ring-spill (every 30s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="ring-spill" interval=30s totalJobs=6
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job db-dump scheduled for 2026-09-22 02:30 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="db-dump" schedule="02:30" nextRun=2026-09-22T02:30:00+02:00 totalJobs=7
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: offsite-credential-retry (every 5m0s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="offsite-credential-retry" interval=5m0s totalJobs=8
2026/09/21 11:06:12 scheduler.go:102: [INFO] [scheduler] Registered periodic job: backup-cache (every 5m0s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] periodic job registered: name="backup-cache" interval=5m0s totalJobs=9
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job tier2-backup scheduled for 2026-09-22 03:30 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="tier2-backup" schedule="03:30" nextRun=2026-09-22T03:30:00+02:00 totalJobs=10
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job offbox-backup scheduled for 2026-09-22 04:15 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="offbox-backup" schedule="04:15" nextRun=2026-09-22T04:15:00+02:00 totalJobs=11
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job offsite-abandon-sweep scheduled for 2026-09-22 05:10 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="offsite-abandon-sweep" schedule="05:10" nextRun=2026-09-22T05:10:00+02:00 totalJobs=12
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job offsite-integrity scheduled for 2026-09-22 06:00 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="offsite-integrity" schedule="06:00" nextRun=2026-09-22T06:00:00+02:00 totalJobs=13
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job offsite-proof scheduled for 2026-09-22 05:30 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="offsite-proof" schedule="05:30" nextRun=2026-09-22T05:30:00+02:00 totalJobs=14
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job metrics-prune scheduled for 2026-09-22 04:00 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="metrics-prune" schedule="04:00" nextRun=2026-09-22T04:00:00+02:00 totalJobs=15
2026/09/21 11:06:12 scheduler.go:132: [INFO] [scheduler] Daily job fill-watch scheduled for 2026-09-22 03:30 CEST
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job registered: name="fill-watch" schedule="03:30" nextRun=2026-09-22T03:30:00+02:00 totalJobs=16
2026/09/21 11:06:12 selftest.go:50: [INFO] ========== Startup Self-Test ==========
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈3844MB avail≈22054MB
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=26154728 → total=25898MB avail=22054MB used=3844MB (14.8%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=6.7GB avail=58.2GB (9.8%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=17.0GB avail=873.2GB (1.8%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.32 1.05 0.94 11/1204 124" → 1m=1.32 5m=1.05 15m=0.94
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 60.6°C (hwmon2)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetInfo done in 66ms — mem=3844MB/25898MB (14.8%), rootDisk=6.7GB/68.4GB (9.8%), load=1.32/1.05/0.94, temp=60.6°C (hwmon2), cpu=0.0%
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Docker socket: reachable (v29.8.0)
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Stacks directory: /opt/docker/stacks
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Data directory: /opt/docker/felhom-controller/data (writable)
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] System data path: /mnt/sys_drive
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Storage paths: 1 connected, 0 disconnected
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Git catalog: 53 app definitions found
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Hub connectivity: hub disabled, skipped
2026/09/21 11:06:12 selftest.go:68: [INFO] [PASS] Metrics DB: 4.5 MB
2026/09/21 11:06:12 selftest.go:70: [INFO] ========================================
2026/09/21 11:06:12 selftest.go:71: [INFO] Self-test complete: 8 passed, 0 warnings, 0 failed
2026/09/21 11:06:12 scheduler.go:206: [INFO] [scheduler] Starting scheduler with 16 jobs
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] scheduler started: periodic=8 daily=8
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job offsite-abandon-sweep: next run at 2026-09-22 05:10:00 CEST (waiting 16h3m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job db-dump: next run at 2026-09-22 02:30:00 CEST (waiting 13h23m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job offsite-proof: next run at 2026-09-22 05:30:00 CEST (waiting 16h23m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job offsite-integrity: next run at 2026-09-22 06:00:00 CEST (waiting 16h53m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job tier2-backup: next run at 2026-09-22 03:30:00 CEST (waiting 14h23m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job offbox-backup: next run at 2026-09-22 04:15:00 CEST (waiting 15h8m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job metrics-prune: next run at 2026-09-22 04:00:00 CEST (waiting 14h53m48s)
2026/09/21 11:06:12 scheduler.go:67: [DEBUG] [scheduler] daily job fill-watch: next run at 2026-09-22 03:30:00 CEST (waiting 14h23m48s)
2026/09/21 11:06:12 server.go:250: [DEBUG] [web] NewServer: initializing web server v0.260.0
2026/09/21 11:06:12 server.go:251: [DEBUG] [web] NewServer: backup=true scheduler=true alertMgr=true notifier=true updater=false
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
2026/09/21 11:06:12 backup.go:465: [DEBUG] groupStacksByDrive: /mnt/sys_drive → [uptime-kuma]
2026/09/21 11:06:12 backup.go:1107: [INFO] [backup] Found 0 DB dump files across drives
2026/09/21 11:06:12 dbdump.go:128: [DEBUG] DiscoverDatabases: running docker ps to find database containers
2026/09/21 11:06:12 sync.go:212: [ERROR] [sync] Catalog sync failed: git fetch: git fetch --depth 1 origin main: exit status 128
stderr: fatal: unable to access 'https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git/': Could not resolve host: gitea.dooplex.hu
2026/09/21 11:06:12 sync.go:122: [INFO] [sync] Initial sync: Git hiba: git fetch: git fetch --depth 1 origin main: exit status 128
stderr: fatal: unable to access 'https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git/': Could not resolve host: gitea.dooplex.hu
2026/09/21 11:06:12 dbdump.go:147: [DEBUG] DiscoverDatabases: docker ps output: 7c794623b894	felhom-controller		gitea.dooplex.hu/admin/felhom-controller:0.260.0
e87c990f2026	uptime-kuma	uptime-kuma	louislam/uptime-kuma:2.4.0
6d206504c99e	filebrowser	filebrowser	gtstef/filebrowser:1.3.3-stable
2515331bc19e	traefik	traefik	traefik:v3.6.7
2026/09/21 11:06:12 dbdump.go:169: [DEBUG] DiscoverDatabases: skipping container felhom-controller (image=gitea.dooplex.hu/admin/felhom-controller:0.260.0, not a database)
2026/09/21 11:06:12 dbdump.go:169: [DEBUG] DiscoverDatabases: skipping container uptime-kuma (image=louislam/uptime-kuma:2.4.0, not a database)
2026/09/21 11:06:12 dbdump.go:169: [DEBUG] DiscoverDatabases: skipping container filebrowser (image=gtstef/filebrowser:1.3.3-stable, not a database)
2026/09/21 11:06:12 dbdump.go:169: [DEBUG] DiscoverDatabases: skipping container traefik (image=traefik:v3.6.7, not a database)
2026/09/21 11:06:12 dbdump.go:203: [DEBUG] DiscoverDatabases: found 0 database(s), skipped 4 non-DB container(s)
2026/09/21 11:06:12 dbdump.go:206: [INFO] [backup] Discovered 0 databases
2026/09/21 11:06:12 [INFO] [stacks] ParseComposeHDDMounts: found 0 HDD mounts for /opt/docker/stacks/uptime-kuma/docker-compose.yml
2026/09/21 11:06:12 [INFO] [backup] Discovered app data: 1 apps
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/sys_drive" total=68.4 GB used=6.7 GB avail=58.2GB (9.8%)
2026/09/21 11:06:12 recovery_unit.go:224: [INFO] [backup] Recovery unit captured for uptime-kuma → /mnt/sys_drive/felhom-data/backups/primary/uptime-kuma (images=1, secrets-referenced=0, data_keys=0, portable-carried=0/0, withheld=0)
2026/09/21 11:06:12 backup.go:1177: [INFO] [backup] Backup status cache refreshed
2026/09/21 11:06:12 server.go:324: [DEBUG] [web] loadTemplates: lang=hu loaded 81 templates, 1877 markers expanded in 28.728841ms
2026/09/21 11:06:12 server.go:324: [DEBUG] [web] loadTemplates: lang=en loaded 81 templates, 1877 markers expanded in 19.600884ms
2026/09/21 11:06:12 server.go:270: [INFO] [web] Auth: using password from settings.json
2026/09/21 11:06:12 server.go:811: [DEBUG] [web] CatchAllMiddleware: controller host=felhom.enkisfelhom.hu
2026/09/21 11:06:12 main.go:1856: [INFO] Web UI listening on :8080
2026/09/21 11:06:12 manager.go:258: [DEBUG] [integrations] ReapplyConfigForTarget: target=filebrowser integrations=0
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readMemInfo: guest cap=25898MB (host total was 30714460KB) → used≈3874MB avail≈22024MB
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readMemInfo: totalKB=30714460 availKB=26119944 → total=25898MB avail=22024MB used=3874MB (15.0%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readDiskUsage: path="/" bsize=4096 total=68.4GB used=6.7GB avail=58.2GB (9.8%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readDiskUsage: path="/mnt/felhom-drives/scratch_hdd" bsize=4096 total=937.8GB used=17.0GB avail=873.2GB (1.8%)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readLoadAvg: raw="1.32 1.05 0.94 6/1204 179" → 1m=1.32 5m=1.05 15m=0.94
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readThermalZones: /sys — found 1 zones
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] readTemperature: found via hwmon at /sys — 60.6°C (hwmon2)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetInfo done in 79ms — mem=3874MB/25898MB (15.0%), rootDisk=6.7GB/68.4GB (9.8%), load=1.32/1.05/0.94, temp=60.6°C (hwmon2), cpu=0.0%
2026/09/21 11:06:12 healthcheck.go:86: [DEBUG] [monitor] Raw values: disk=9.8%, hdd=1.8% (configured=true), mem=15.0% (3874MB/25898MB), cpu=0.0%, temp=60.6°C (hwmon2)
2026/09/21 11:06:12 healthcheck.go:118: [DEBUG] [monitor] SSD disk: OK (10%)
2026/09/21 11:06:12 healthcheck.go:151: [DEBUG] [monitor] Memory: OK (15%)
2026/09/21 11:06:12 healthcheck.go:187: [DEBUG] [monitor] Temperature: OK (61°C)
2026/09/21 11:06:12 infra.go:228: [INFO] [infra] connected felhom-controller to traefik-public
2026/09/21 11:06:12 infra.go:67: [INFO] [infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)
2026/09/21 11:06:12 healthcheck.go:201: [DEBUG] [monitor] Docker daemon: OK
2026/09/21 11:06:12 healthcheck.go:209: [DEBUG] [monitor] Checking 1 protected containers: [traefik]
2026/09/21 11:06:12 healthcheck.go:219: [DEBUG] [monitor] All protected containers running
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetDiskUsage: path="/mnt/felhom-drives/scratch_hdd" total=937.8 GB used=17.0 GB avail=873.2GB (1.8%)
2026/09/21 11:06:12 healthcheck.go:238: [INFO] [monitor] Health check: status=ok
2026/09/21 11:06:12 healthcheck.go:242: [DEBUG] [monitor] Final status: ok (issues=0, warnings=0, info=4)
2026/09/21 11:06:12 handlers.go:3399: [INFO] [web] FileBrowser sync — no config/compose change, ensured running without recreate (1 storage path(s))
2026/09/21 11:06:17 info.go:13: [DEBUG] [system] CPUCollector: first sample — cpu=16.8% (idle=3282 total=3943)
2026/09/21 11:06:17 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
2026/09/21 11:06:22 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
2026/09/21 11:06:22 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/21 11:06:22 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/21 11:06:22 healthprobe.go:76: [DEBUG] [stacks] RunHealthProbes: collected 1 targets (0 skipped not due, 0 skipped no container)
2026/09/21 11:06:22 healthprobe.go:153: [DEBUG] Health probe uptime-kuma: HTTP GET :3001/ → 302 (4ms)
2026/09/21 11:06:22 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
2026/09/21 11:06:22 healthprobe.go:133: [INFO] Health probes: 1 ok (of 1 probed)
2026/09/21 11:06:27 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
2026/09/21 11:06:27 main.go:2273: [INFO] [bootrecon] boot window: fleet settled after 10s (3 identical samples 5s apart) — sweeping
2026/09/21 11:06:27 bootrecon.go:255: [INFO] [bootrecon] Boot reconciliation: no boot-orphaned apps (nothing to start)
2026/09/21 11:06:32 auth.go:154: [DEBUG] [web] login attempt from 172.18.0.3:56160 (X-Forwarded-For: 172.18.0.1)
2026/09/21 11:06:32 auth.go:202: [DEBUG] [web] login successful from 172.18.0.1, creating session
2026/09/21 11:06:32 auth.go:268: [DEBUG] [web] session created, expires=2026-09-28T11:06:32Z, active_sessions=1
2026/09/21 11:06:32 auth.go:222: [INFO] [web] Login from 172.18.0.3:56160
2026/09/21 11:06:32 scheduler.go:67: [DEBUG] [scheduler] job health-probes: execution starting
2026/09/21 11:06:32 healthprobe.go:53: [DEBUG] [stacks] RunHealthProbes: skipping uptime-kuma — last check 10s ago, effective interval 5m0s, healthy=true
2026/09/21 11:06:32 healthprobe.go:76: [DEBUG] [stacks] RunHealthProbes: collected 0 targets (1 skipped not due, 0 skipped no container)
2026/09/21 11:06:32 scheduler.go:67: [DEBUG] [scheduler] job status-refresh: execution starting
2026/09/21 11:06:32 auth.go:142: [DEBUG] [web] auth: valid session for GET /stacks
2026/09/21 11:06:32 server.go:542: [DEBUG] [web] ServeHTTP: GET /stacks from 172.18.0.3:56160
2026/09/21 11:06:32 manager.go:712: [INFO] [stacks] Status refresh: 3 containers across 55 stacks
