Skip to content

fix(systemd): use Restart=always to handle in-app restart requests#199

Merged
mairas merged 2 commits into
mainfrom
fix/systemd-restart-policy
Mar 24, 2026
Merged

fix(systemd): use Restart=always to handle in-app restart requests#199
mairas merged 2 commits into
mainfrom
fix/systemd-restart-policy

Conversation

@mairas
Copy link
Copy Markdown
Contributor

@mairas mairas commented Mar 24, 2026

Summary

  • Container apps like Signal K support in-app restart via their admin UI, which exits the process cleanly (code 0). With Restart=on-failure, systemd treated this as "service completed" and never restarted the container, leaving users with Traefik's "404 page not found".
  • Changes Restart=on-failure to Restart=always in the systemd service template. systemctl stop still works correctly — systemd suppresses restart for explicit stops.

Test plan

  • All 903 existing tests pass
  • Verified fix on halosdev.local: applied the same change to the live service file, Signal K container is running
  • After merge and package rebuild: install plugin via Signal K admin UI, click Restart, verify container comes back up

🤖 Generated with Claude Code

mairas and others added 2 commits March 24, 2026 23:23
Container apps like Signal K support in-app restart via their admin UI,
which exits the process cleanly (code 0). With Restart=on-failure,
systemd treated this as "service completed" and never restarted the
container, leaving users with Traefik's 404 page.

Restart=always restarts after any exit while systemctl stop still works
correctly (systemd suppresses restart for explicit stops).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mairas mairas merged commit 37cac57 into main Mar 24, 2026
4 checks passed
@mairas mairas deleted the fix/systemd-restart-policy branch March 24, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant