Files
felhom.eu/documentation/audits/fixes-2026-10-21/P1-live/04-controller-log.json
T

2282 lines
64 KiB
JSON

{
"data": {
"entries": [
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "bootstrap: pulled config from https://hub.felhom.eu for Tester4, merged local_api (169.254.253.1:8443) — coming up configured",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "local-api: channel up (agent 169.254.253.1:8443) — guest 9201, 2 mount(s) visible",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "local-api: mount mp0 → /var/lib/felhom (storage=local-lvm, class=, backup=true)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "local-api: mount mp9 → /etc/felhom-bootstrap (storage=/var/lib/felhom-agent/guests/9201/bootstrap, class=, backup=false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "felhom-controller 0.331.0 starting (customer: Tester4, domain: tester4.test)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "[settings] No settings.json found, using defaults",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:42Z",
"level": "INFO",
"message": "Encryption key loaded from /opt/docker/felhom-controller/data/encryption.key",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] Using compose command: docker compose",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "WARN",
"message": "[stacks] Cannot read catalog cache for orphan detection: open /opt/docker/felhom-controller/data/catalog-cache/templates: no such file or directory",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] ScanStacks complete: 0 stacks found (0 deployed, 0 available)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] Status refresh: 0 containers across 0 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] Encryption migration: no stacks needed migration",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] desired-state backfill: 0 app(s) recorded as running, 0 left unrecorded (state ambiguous — legacy boot behaviour retained)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] installed-images backfill: 0 app(s) recorded, 0 already had a record, 0 left unrecorded (could not be observed completely — unknown, which renders nothing)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] pin adoption: 0 pinned, 0 already pinned, 0 left unpinned (0 not completely observed, 0 running something the template no longer offers)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[stacks] applied-meta backfill (R-646): recorded 0 []; skipped 0 [] — not current with the catalog, their pinned version's .felhom.yml is no longer on the box",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[sync] Starting catalog sync (repo: https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git, interval: 15m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[quiesce] loop started (poll 5m0s, max-quiesce 30m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[sync] Starting catalog sync",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[sync] Cloning https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git → /opt/docker/felhom-controller/data/catalog-cache",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[infra] creating docker network traefik-public",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Metrics store opened at /opt/docker/felhom-controller/data/metrics.db",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Metrics collector started (60s interval)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[backup] restore record wired: /opt/docker/felhom-controller/data/restore-status.json (interrupted at startup: false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[backup] app-data run record wired: /opt/docker/felhom-controller/data/appdata-run.json (an earlier cut still shown: false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Notifier enabled (hub: https://hub.felhom.eu)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Self-update enabled (check every 6h, auto-update: false, auto-update time: 04:30)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: status-refresh (every 10s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: stack-scan (every 2m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: docker-socket-watch (every 15s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: docker-socket-users (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: health-probes (every 10s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: system-health (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: after-unclean-boot (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: deadapp-check (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[offsite-apply] settle-gate: awaiting floor knowledge (first report ACK) before offsite apply",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: ring-spill (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job db-dump scheduled for 2026-10-22 02:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: offsite-credential-retry (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: backup-cache (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: conversion-copy-release (every 1h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job tier2-backup scheduled for 2026-10-22 03:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job offbox-backup scheduled for 2026-10-22 04:15 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[catch-up] controller start: no backup leg missed its last scheduled time — nothing to make up",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-abandon-sweep scheduled for 2026-10-22 05:10 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-integrity scheduled for 2026-10-22 06:00 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-proof scheduled for 2026-10-22 05:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job metrics-prune scheduled for 2026-10-22 04:00 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Daily job fill-watch scheduled for 2026-10-22 03:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: fill-watch-interval (every 10m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: hub-report (every 15m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Hub reporting enabled (every 15m0s to https://hub.felhom.eu)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: selfupdate-check (every 6h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "========== Startup Self-Test ==========",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] Docker socket: reachable (v29.8.2)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] Stacks directory: /opt/docker/stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] Data directory: /opt/docker/felhom-controller/data (writable)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] System data path: /mnt/sys_drive",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[WARN] Storage paths: no storage paths registered",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[WARN] Git catalog: no .felhom.yml files found in stacks dir",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] Hub connectivity: https://hub.felhom.eu reachable (HTTP 200)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[PASS] Metrics DB: 0.0 MB",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "========================================",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Self-test complete: 6 passed, 2 warnings, 0 failed",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Starting scheduler with 23 jobs",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[backup] Found 0 DB dump files across drives",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[report] hub wait channel active (hold ≤240s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[infra] creating docker network felhom-tunnel (172.16.253.0/29)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[backup] Discovered 0 databases",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[backup] Backup status cache refreshed",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[web] Auth: no password configured — dashboard is open",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: disk-health-check (every 1h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: agent-channel-health (every 1m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "WARN",
"message": "[web] FileBrowser stack not found at /opt/docker/stacks/filebrowser/docker-compose.yml — skipping mount sync",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "Web UI listening on :8080",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[infra] wrote the forwarded-header clean-up → /opt/docker/stacks/traefik/dynamic/forwarded.yml (felhom-forwarded)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[infra] deploying traefik → /opt/docker/stacks/traefik",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:43Z",
"level": "INFO",
"message": "[monitor] Health check: status=fail",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] wrote backend transports → /opt/docker/stacks/traefik/dynamic/serverstransports.yml (insecure-skip-verify)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] wrote controller route → /opt/docker/stacks/traefik/dynamic/controller.yml (Host felhom.tester4.test → felhom-controller:8080)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated actualbudget/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated actualbudget/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated adventurelog/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated adventurelog/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated audiobookshelf/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated audiobookshelf/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated bentopdf/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated bentopdf/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated bookstack/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated bookstack/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] connected felhom-controller to traefik-public",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] wrote filebrowser route → /opt/docker/stacks/traefik/dynamic/filebrowser.yml (Host files.tester4.test → filebrowser:80 by name, R-1126)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated calcom/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated calcom/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated calibre-web/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated calibre-web/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated claper/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated claper/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated code-server/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated code-server/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated crafty-controller/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated crafty-controller/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[infra] deploying filebrowser → /opt/docker/stacks/filebrowser",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated dawarich/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated dawarich/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated docmost/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated docmost/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated emby/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated emby/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated ghost/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated ghost/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gitea/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gitea/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated glance/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated glance/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gokapi/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gokapi/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grafana/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grafana/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gramps-web/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated gramps-web/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grimmory/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grimmory/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grocy/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated grocy/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated home-assistant/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated home-assistant/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated homebox/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated homebox/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated homepage/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated homepage/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated immich/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated immich/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated jellyfin/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated jellyfin/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated karakeep/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated karakeep/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated kimai/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated kimai/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated komga/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated komga/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated lubelogger/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated lubelogger/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated mealie/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated mealie/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated metube/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated metube/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated n8n/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated n8n/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated navidrome/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated navidrome/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated nextcloud/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated nextcloud/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated nzbget/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated nzbget/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated onlyoffice/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated onlyoffice/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated opengist/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated opengist/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated outline/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated outline/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated paperless-ngx/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated paperless-ngx/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated papra/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated papra/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated plant-it/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated plant-it/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated plex/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated plex/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated privatebin/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated privatebin/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated prowlarr/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated prowlarr/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated qbittorrent/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated qbittorrent/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated radarr/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated radarr/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated radicale/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated radicale/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated rallly/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated rallly/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated recipe-importer/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated recipe-importer/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated romm/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated romm/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sabnzbd/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sabnzbd/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated seerr/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated seerr/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sonarr/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sonarr/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sparkyfitness/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated sparkyfitness/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated tandoor/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated tandoor/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated termix/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated termix/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated transmission/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated transmission/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated uptime-kuma/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated uptime-kuma/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated vaultwarden/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated vaultwarden/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated vikunja/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated vikunja/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wanderer/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wanderer/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wger/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wger/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wishlist/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated wishlist/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated zipline/docker-compose.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Updated zipline/.felhom.yml",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] catalog moved (none) -> c50adfc6412c (65 new, 0 stack dir(s) changed)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[stacks] ScanStacks complete: 67 stacks found (0 deployed, 67 available)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[stacks] Status refresh: 1 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Catalog sync complete",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:44Z",
"level": "INFO",
"message": "[sync] Initial sync: Sablonok frissítve — új: actualbudget, adventurelog, audiobookshelf, bentopdf, bookstack, calcom, calibre-web, claper, code-server, crafty-controller, dawarich, docmost, emby, ghost, gitea, glance, gokapi, grafana, gramps-web, grimmory, grocy, home-assistant, homebox, homepage, immich, jellyfin, karakeep, kimai, komga, lubelogger, mealie, metube, n8n, navidrome, nextcloud, nzbget, onlyoffice, opengist, outline, paperless-ngx, papra, plant-it, plex, privatebin, prowlarr, qbittorrent, radarr, radicale, rallly, recipe-importer, romm, sabnzbd, seerr, sonarr, sparkyfitness, tandoor, termix, transmission, uptime-kuma, vaultwarden, vikunja, wanderer, wger, wishlist, zipline",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:45Z",
"level": "INFO",
"message": "[infra] connected felhom-controller to felhom-filebrowser (the FileBrowser default-login check, R-1126)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:45Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:46Z",
"level": "INFO",
"message": "[internal-place] bound /mnt/belso into the guest at /mnt/felhom-drives/belso",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:48Z",
"level": "INFO",
"message": "[report] Building system report",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:48Z",
"level": "INFO",
"message": "Event pushed: controller_started (info) [hu-only] — Controller elindult (0.331.0)",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:49Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:49Z",
"level": "INFO",
"message": "[infra] filebrowser: admin/admin replaced by a generated password (value never logged); verified new=200 admin=401",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:52Z",
"level": "ERROR",
"message": "[stacks] execCommand failed: exit status 1",
"source": ""
},
{
"timestamp": "2026-10-21T12:05:52Z",
"level": "INFO",
"message": "Received signal terminated, shutting down...",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "local-api: channel up (agent 169.254.253.1:8443) — guest 9201, 3 mount(s) visible",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "local-api: mount mp0 → /var/lib/felhom (storage=local-lvm, class=, backup=true)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "local-api: mount mp8 → /mnt/felhom-drives (storage=/mnt/felhom-drives, class=, backup=false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "local-api: mount mp9 → /etc/felhom-bootstrap (storage=/var/lib/felhom-agent/guests/9201/bootstrap, class=, backup=false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "felhom-controller 0.336.0 starting (customer: Tester4, domain: tester4.test)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[settings] Loaded settings from /opt/docker/felhom-controller/data/settings.json",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Encryption key loaded from /opt/docker/felhom-controller/data/encryption.key",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] Using compose command: docker compose",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] ScanStacks complete: 67 stacks found (0 deployed, 67 available)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] Encryption migration: no stacks needed migration",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] desired-state backfill: 0 app(s) recorded as running, 0 left unrecorded (state ambiguous — legacy boot behaviour retained)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[quiesce] loop started (poll 5m0s, max-quiesce 30m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] installed-images backfill: 0 app(s) recorded, 0 already had a record, 0 left unrecorded (could not be observed completely — unknown, which renders nothing)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] pin adoption: 0 pinned, 0 already pinned, 0 left unpinned (0 not completely observed, 0 running something the template no longer offers)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[stacks] applied-meta backfill (R-646): recorded 0 []; skipped 0 [] — not current with the catalog, their pinned version's .felhom.yml is no longer on the box",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[sync] Starting catalog sync (repo: https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git, interval: 15m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[sync] Starting catalog sync",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Metrics store opened at /opt/docker/felhom-controller/data/metrics.db",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Metrics collector started (60s interval)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[backup] restore record wired: /opt/docker/felhom-controller/data/restore-status.json (interrupted at startup: false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[backup] app-data run record wired: /opt/docker/felhom-controller/data/appdata-run.json (an earlier cut still shown: false)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Notifier enabled (hub: https://hub.felhom.eu)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[selfupdate] Post-update startup: update successful (0.331.0 → 0.336.0)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git (branch: main)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Self-update enabled (check every 6h, auto-update: false, auto-update time: 04:30)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: status-refresh (every 10s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: stack-scan (every 2m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: docker-socket-watch (every 15s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: docker-socket-users (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: health-probes (every 10s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: system-health (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: after-unclean-boot (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: deadapp-check (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[offsite-apply] settle-gate: awaiting floor knowledge (first report ACK) before offsite apply",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: ring-spill (every 30s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job db-dump scheduled for 2026-10-22 02:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: offsite-credential-retry (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: backup-cache (every 5m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: conversion-copy-release (every 1h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job tier2-backup scheduled for 2026-10-22 03:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job offbox-backup scheduled for 2026-10-22 04:15 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[catch-up] controller start: no backup leg missed its last scheduled time — nothing to make up",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-abandon-sweep scheduled for 2026-10-22 05:10 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-integrity scheduled for 2026-10-22 06:00 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job offsite-proof scheduled for 2026-10-22 05:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job metrics-prune scheduled for 2026-10-22 04:00 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Daily job fill-watch scheduled for 2026-10-22 03:30 CEST",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: fill-watch-interval (every 10m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: hub-report (every 15m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Hub reporting enabled (every 15m0s to https://hub.felhom.eu)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: selfupdate-check (every 6h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "========== Startup Self-Test ==========",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "Event pushed: controller_updated (info) [hu-only] — Controller frissítve: 0.331.0 → 0.336.0",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Docker socket: reachable (v29.8.2)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Stacks directory: /opt/docker/stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Data directory: /opt/docker/felhom-controller/data (writable)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] System data path: /mnt/sys_drive",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Storage paths: 1 connected, 0 disconnected",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Git catalog: 65 app definitions found",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:15Z",
"level": "INFO",
"message": "[PASS] Hub connectivity: https://hub.felhom.eu reachable (HTTP 200)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[PASS] Metrics DB: 0.0 MB",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "========================================",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "Self-test complete: 8 passed, 0 warnings, 0 failed",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[scheduler] Starting scheduler with 23 jobs",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[report] hub wait channel active (hold ≤240s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[backup] Found 0 DB dump files across drives",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[backup] Discovered 0 databases",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[backup] Backup status cache refreshed",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[web] Auth: no password configured — dashboard is open",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: disk-health-check (every 1h0m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[scheduler] Registered periodic job: agent-channel-health (every 1m0s)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "Web UI listening on :8080",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[infra] connected felhom-controller to traefik-public",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[infra] wrote filebrowser route → /opt/docker/stacks/traefik/dynamic/filebrowser.yml (Host files.tester4.test → filebrowser:80 by name, R-1126; one sign-in true, R-1100)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[infra] cloudflared skipped — no cf_tunnel_token configured (LAN-only node)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[sync] Catalog sync complete",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[sync] Initial sync: Sablonok naprakészek — nincs változás",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[monitor] Health check: status=ok",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:16Z",
"level": "INFO",
"message": "[infra] connected felhom-controller to felhom-filebrowser (the FileBrowser default-login check, R-1126)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:17Z",
"level": "INFO",
"message": "[web] FileBrowser mounts synced (recreated) — 1 storage path(s), config updated",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:20Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "[report] Building system report",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "Event pushed: controller_started (info) [hu-only] — Controller elindult (0.336.0)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "[monitor] Health check: status=ok",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "[report] Hub report pushed successfully (2526 bytes)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:21Z",
"level": "INFO",
"message": "Startup hub report sent",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:23Z",
"level": "INFO",
"message": "[infra] filebrowser: default login refused for this run — joined traefik-public, files.<domain> served (R-1126)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:25Z",
"level": "INFO",
"message": "[offsite-apply] settle-gate: GO — at/above floor 0.336.0 (we are 0.336.0), no managed update running",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:25Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:26Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:28Z",
"level": "INFO",
"message": "[offsite-apply] the hub installed key SHA256:oXrBkWdtC1uJEbUwIkc941n0oEsLbpJOKK4k96CvSB8 append-only on u629488-sub5@u629488-sub5.your-storagebox.de (fresh=true)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:28Z",
"level": "WARN",
"message": "[offbox] NOT minting a repository password: the hub holds a sealed recovery package for this box, and a fresh key would orphan the history that package protects (R-241). The transport is configured; the tier stays down until the customer's recovery code places the escrowed key.",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:28Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:28Z",
"level": "INFO",
"message": "[offbox] apply-offsite: transport configured for u629488-sub5@u629488-sub5.your-storagebox.de:/home/felhom-repo, tier HELD awaiting the escrowed key (the hub holds a sealed package; no key was minted — R-241)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:29Z",
"level": "INFO",
"message": "[offsite-apply] offsite configured append-only for u629488-sub5@u629488-sub5.your-storagebox.de:/home/felhom-repo (key SHA256:oXrBkWdtC1uJEbUwIkc941n0oEsLbpJOKK4k96CvSB8)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:30Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:30Z",
"level": "INFO",
"message": "[bootrecon] boot window: fleet settled after 10s (3 identical samples 5s apart) — sweeping",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:30Z",
"level": "INFO",
"message": "[bootrecon] Boot reconciliation: no boot-orphaned apps (nothing to start)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:36Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:46Z",
"level": "INFO",
"message": "[deadapp] boot grace 1m30s: the host's last boot was clean (R-856)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:46Z",
"level": "INFO",
"message": "[aftercrash] a normal (or unknown) boot — no app repair after an unclean boot (R-1007)",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:46Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:46Z",
"level": "INFO",
"message": "[selfupdate] Current version 0.336.0 is up to date",
"source": ""
},
{
"timestamp": "2026-10-21T12:06:56Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:06Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:16Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:16Z",
"level": "INFO",
"message": "[scheduler] Running job: agent-channel-health",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:16Z",
"level": "INFO",
"message": "[scheduler] Job agent-channel-health completed (took 200ms)",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:26Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:36Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:45Z",
"level": "INFO",
"message": "[fillwatch] checked 3 filesystem(s), 0 unreadable/skipped, 0 notification(s); bands: all ok",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:46Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:07:56Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:06Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[scheduler] Running job: stack-scan",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[stacks] ScanStacks complete: 67 stacks found (0 deployed, 67 available)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[scheduler] Job stack-scan completed (took 134ms)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[scheduler] Running job: agent-channel-health",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:16Z",
"level": "INFO",
"message": "[scheduler] Job agent-channel-health completed (took 179ms)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[web] All sessions invalidated (cleared 0)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[web] claim/reset: every dashboard session, 0 family session(s) and every app gate pass ended",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:22Z",
"level": "INFO",
"message": "[web] dashboard claimed by the customer from 192.168.0.180 (code generation 4 consumed)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:24Z",
"level": "INFO",
"message": "[report] Building system report",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:24Z",
"level": "INFO",
"message": "[monitor] Health check: status=ok",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:24Z",
"level": "INFO",
"message": "[report] Hub report pushed successfully (2932 bytes)",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:24Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:26Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:36Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:36Z",
"level": "INFO",
"message": "[web] Login from 192.168.0.180",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:37Z",
"level": "INFO",
"message": "[settings] Settings saved",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:45Z",
"level": "INFO",
"message": "[web] Login from 192.168.0.180",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:46Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:53Z",
"level": "INFO",
"message": "[web] Login from 192.168.0.180",
"source": ""
},
{
"timestamp": "2026-10-21T12:08:56Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:04Z",
"level": "INFO",
"message": "[web] Login from 192.168.0.180",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:06Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[stacks] controller image retention: pass over 2 controller image(s) — running 0.336.0, previous \"0.331.0\" (the self-update's record), 0 candidate(s), 0 deleted, the rest kept",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[scheduler] Running job: agent-channel-health",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[stacks] image retention (one-time clean-up): pass over 7 image(s) of [actualbudget/actual-server calcom/cal.com codewithcj/sparkyfitness codewithcj/sparkyfitness_server crocodilestick/calibre-web-automated deluan/navidrome docmost/docmost emby/embyserver f0rc3/gokapi fallenbagel/jellyseerr flomp/wanderer-db flomp/wanderer-web freikin/dawarich getmeili/meilisearch ghcr.io/advplyr/audiobookshelf ghcr.io/alam00000/bentopdf ghcr.io/alexta69/metube ghcr.io/claperco/claper ghcr.io/cmintey/wishlist ghcr.io/diced/zipline ghcr.io/gethomepage/homepage ghcr.io/gramps-project/grampsweb ghcr.io/grimmory-tools/grimmory ghcr.io/hargata/lubelogger ghcr.io/home-assistant/home-assistant ghcr.io/immich-app/immich-machine-learning ghcr.io/immich-app/immich-server ghcr.io/immich-app/postgres ghcr.io/karakeep-app/karakeep ghcr.io/karakeep-app/karakeep-chrome ghcr.io/kozea/radicale ghcr.io/lukegus/termix ghcr.io/mealie-recipes/mealie ghcr.io/paperless-ngx/paperless-ngx ghcr.io/papra-hq/papra ghcr.io/seanmorley15/adventurelog-backend ghcr.io/seanmorley15/adventurelog-frontend ghcr.io/sysadminsmedia/homebox ghcr.io/tandoorrecipes/recipes ghcr.io/thomiceli/opengist ghost gitea.dooplex.hu/admin/recipe-importer gitea/gitea glanceapp/glance gotson/komga grafana/grafana jellyfin/jellyfin kimai/kimai2 louislam/uptime-kuma lscr.io/linuxserver/bookstack lscr.io/linuxserver/code-server lscr.io/linuxserver/grocy lscr.io/linuxserver/prowlarr lscr.io/linuxserver/radarr lscr.io/linuxserver/sabnzbd lscr.io/linuxserver/sonarr lscr.io/linuxserver/transmission lukevella/rallly mariadb msdeluise/plant-it n8nio/n8n nextcloud nginx nzbgetcom/nzbget onlyoffice/documentserver outlinewiki/outline plexinc/pms-docker postgis/postgis postgres privatebin/pdo qbittorrentofficial/qbittorrent-nox redis registry.gitlab.com/crafty-controller/crafty-4 rommapp/romm vaultwarden/server vikunja/vikunja wger/server] — 0 candidate(s), 0 deleted, the rest kept",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[stacks] image retention (one-time): deleted 0 image(s). docker disk before: Images 938.8MB 202MB (21%) | after: Images 938.8MB 202MB (21%)",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:16Z",
"level": "INFO",
"message": "[scheduler] Job agent-channel-health completed (took 193ms)",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:24Z",
"level": "INFO",
"message": "[web] Login from 192.168.0.180",
"source": ""
},
{
"timestamp": "2026-10-21T12:09:26Z",
"level": "INFO",
"message": "[stacks] Status refresh: 2 containers across 67 stacks",
"source": ""
}
],
"total": 443
},
"ok": true
}