matx64/synche

systemd user unit + install script

オープン

#25 opened on 2026/05/27

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Rust (1 件のフォーク)auto 404
enhancementgood first issue

Repository metrics

Stars
 (0 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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/synche
    • Restart=on-failure
    • RestartSec=5
    • Reasonable journald logging settings
    • Sane hardening defaults (ProtectSystem, ProtectHome set conservatively given Synche needs to read/write the home path)
  • New file packaging/install.sh — a short, idempotent shell script that:
    • Verifies a synche binary 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)
  • Document the install flow in docs/ (either expand EXAMPLE.md or add a docs/INSTALL.md).

Out of scope

  • System-wide (root) units
  • macOS launchd / Windows service equivalents (separate issues)
  • Auto-update logic

Acceptance criteria

  • Running packaging/install.sh on a stock Ubuntu/Fedora installs and starts the service
  • systemctl --user status synche shows it as running
  • Killing the process triggers a restart within 10s
  • Re-running the script is idempotent (no errors on second run)

コントリビューターガイド