[Unit] Description=Watch for TallyNote release update requests [Path] PathExists=/var/lib/tallynote/update-request.json PathChanged=/var/lib/tallynote/update-request.json # The recovery marker lives beside the release link. Watching it as well # allows systemd to resume reconciliation when the runner is interrupted # after consuming the request but before clearing its state file. PathExists=/opt/tallynote/.update-state PathChanged=/opt/tallynote/.update-state # Keep a directory-level fallback because some systemd/inotify versions skip # dotfiles when watching an individual path. State writes are atomic renames, # so the containing directory changes even when the marker itself is hidden. PathChanged=/opt/tallynote Unit=tallynote-update.service [Install] WantedBy=multi-user.target