ollama pull compares digests server-side so no download happens if
a model is already current. Timer runs monthly offset 2h from kiwix.
install.sh updated to handle all units generically.
https://claude.ai/code/session_012gDnantBmFTWZGCiKyjazx
User units in systemd/ with an install.sh that symlinks and enables.
Persistent=true means missed runs (machine off) catch up on next boot.
Logs via journald: journalctl --user -u kiwix-update.service
https://claude.ai/code/session_012gDnantBmFTWZGCiKyjazx