feat: v0.3.0 stabilization -- systemd, tests, API docs
- Bump version 0.1.0 -> 0.3.0 - Add systemd service unit (config/s5p.service) and install-service Makefile target - Add CLI argument parsing tests (tests/test_cli.py, 27 tests) - Expand protocol tests with SOCKS5/4/HTTP handshake, error, and auth coverage (tests/test_proto.py, 30 tests) - Add full API reference to docs/USAGE.md with response schemas for all GET/POST endpoints - Update INSTALL.md, CHEATSHEET.md with systemd section - Update ROADMAP.md, TASKS.md for v0.3.0
This commit is contained in:
@@ -42,6 +42,37 @@ The Alpine-based image (~59MB) contains Python, PyYAML, and baked-in
|
||||
source. Config is mounted at runtime. The compose.yaml volume mount
|
||||
overrides source for local dev.
|
||||
|
||||
## Systemd Service
|
||||
|
||||
Install s5p as a systemd service for automatic startup and restart.
|
||||
|
||||
```bash
|
||||
# Install the binary
|
||||
cd ~/git/s5p
|
||||
source .venv/bin/activate
|
||||
pip install -e .
|
||||
|
||||
# Copy config
|
||||
sudo mkdir -p /etc/s5p
|
||||
sudo cp config/example.yaml /etc/s5p/s5p.yaml
|
||||
sudo nano /etc/s5p/s5p.yaml # edit with your settings
|
||||
|
||||
# Install the unit (copies service file + daemon-reload)
|
||||
make install-service
|
||||
|
||||
# Enable and start
|
||||
sudo systemctl enable --now s5p
|
||||
|
||||
# Check status
|
||||
sudo systemctl status s5p
|
||||
journalctl -u s5p -f
|
||||
```
|
||||
|
||||
The service unit expects:
|
||||
- Binary at `/usr/local/bin/s5p`
|
||||
- Config at `/etc/s5p/s5p.yaml`
|
||||
- Restarts on failure with 5-second delay
|
||||
|
||||
## Install Tor (optional)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user