furtka/assets/systemd
Daniel Maksymilian Syrnicki 32ba522d59 fix(catalog): retry the boot-time sync and record failures as an error stage
On dual-stack LANs network-online.target is satisfied by the IPv6 SLAAC
address about a second before DHCPv4 lands, so the first
furtka-catalog-sync run died with 'Network is unreachable' and the next
attempt was the daily timer (OnBootSec=10min + up to 6 h jitter). The
state file stayed on 'checking' and the apps page showed 'checking…'
with nothing running — first hardware bench, 2026-08-25.

- furtka-catalog-sync.service: Restart=on-failure every 20 s, up to 8
  times in 15 min
- sync_catalog() writes stage 'error' + message on CatalogError, then
  re-raises (body moved to _sync_locked())
- apps page shows 'last sync failed: <error>' for that stage

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MScAinbyMdeNc7H2BZdnnG
2026-08-25 16:38:06 +02:00
..
furtka-api.service fix(furtka): move assets/ to repo top level so Caddy + systemd find it 2026-04-16 15:26:10 +02:00
furtka-catalog-sync.service fix(catalog): retry the boot-time sync and record failures as an error stage 2026-08-25 16:38:06 +02:00
furtka-catalog-sync.timer feat(catalog): on-box apps catalog synced independently of core version 2026-04-20 14:16:02 +02:00
furtka-reconcile.service fix(furtka): move assets/ to repo top level so Caddy + systemd find it 2026-04-16 15:26:10 +02:00
furtka-status.service fix(furtka): move assets/ to repo top level so Caddy + systemd find it 2026-04-16 15:26:10 +02:00
furtka-status.timer fix(furtka): move assets/ to repo top level so Caddy + systemd find it 2026-04-16 15:26:10 +02:00
furtka-welcome.service fix(console): always show the IP fallback on the welcome banner 2026-08-25 15:18:39 +02:00
furtka-welcome.timer fix(console): always show the IP fallback on the welcome banner 2026-08-25 15:18:39 +02:00