feat: systemd user service file for headless deployment

Hardened unit with ProtectSystem/ProtectHome, auto-restart on failure,
and ExecReload for SIGHUP hot config reload. Docs updated with setup,
management, and enable-linger instructions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-21 19:25:36 +01:00
parent 638f12dbb3
commit f4f3132b6b
7 changed files with 104 additions and 5 deletions

View File

@@ -9,6 +9,18 @@ bouncer --version # version
bouncer --help # help
```
## Systemd
```bash
systemctl --user enable bouncer # enable at boot
systemctl --user start bouncer # start
systemctl --user stop bouncer # stop
systemctl --user restart bouncer # restart
systemctl --user reload bouncer # hot reload (SIGHUP)
systemctl --user status bouncer # status
journalctl --user -u bouncer -f # follow logs
```
## Podman
```bash
@@ -219,6 +231,7 @@ password # optional, IRC server PASS
|------|---------|
| `config/bouncer.toml` | Active config (gitignored) |
| `config/bouncer.example.toml` | Example template |
| `config/bouncer.service` | Systemd user service unit |
| `config/bouncer.db` | SQLite backlog (auto-created) |
| `{data_dir}/bouncer.pem` | Listener TLS cert (auto-created) |
| `{data_dir}/certs/{net}/{nick}.pem` | Client certificates (auto-created) |