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
21 lines
640 B
Desktop File
21 lines
640 B
Desktop File
[Unit]
|
|
Description=Furtka apps catalog sync
|
|
Requires=network-online.target
|
|
After=network-online.target
|
|
# network-online.target is satisfied by *any* routable address. On dual-stack
|
|
# LANs that is usually the IPv6 SLAAC address, which lands a second or so
|
|
# before DHCPv4 — and the first sync then dies with "Network is unreachable"
|
|
# (first hardware bench, 2026-08-25). Retry a few times instead of waiting
|
|
# for the daily timer.
|
|
StartLimitIntervalSec=15min
|
|
StartLimitBurst=8
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/local/bin/furtka catalog sync
|
|
TimeoutStartSec=5min
|
|
Restart=on-failure
|
|
RestartSec=20s
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|