systemd user unit + install script
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Goal
Today there's no story for running Synche as a background service across reboots. Users have to keep a terminal open or write their own service file.
Ship a systemd user unit and a small install script so a Linux user can do ''one command, then it's just always running''.
Requirements
- New file
packaging/systemd/synche.service— a user-level unit (not system-wide), roughly:ExecStart=%h/.local/bin/syncheRestart=on-failureRestartSec=5- Reasonable journald logging settings
- Sane hardening defaults (
ProtectSystem,ProtectHomeset conservatively given Synche needs to read/write the home path)
- New file
packaging/install.sh— a short, idempotent shell script that:- Verifies a
synchebinary is on PATH (or accepts a--binary <path>argument and copies it to~/.local/bin/) - Drops the unit into
~/.config/systemd/user/synche.service - Runs
systemctl --user daemon-reload && systemctl --user enable --now synche.service - Prints next steps (GUI URL, where logs live)
- Verifies a
- Document the install flow in
docs/(either expandEXAMPLE.mdor add adocs/INSTALL.md).
Out of scope
- System-wide (root) units
- macOS launchd / Windows service equivalents (separate issues)
- Auto-update logic
Acceptance criteria
- Running
packaging/install.shon a stock Ubuntu/Fedora installs and starts the service -
systemctl --user status syncheshows it as running - Killing the process triggers a restart within 10s
- Re-running the script is idempotent (no errors on second run)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the requirements for packaging/systemd/synche.service and packaging/install.sh, then inspect the existing binary's expected path and the documentation in docs/ or EXAMPLE.md. Verify the script on stock Ubuntu or Fedora, including a --binary path, user-unit startup, restart behavior, and a second idempotent run. Done means the service runs, restarts within 10 seconds, and the install flow documents the GUI URL and logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust, shell
- Domain
- devops, infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100