feat: add systemd user services and timer units

- Create systemd user service files for both Go and Rust implementations
- Add comprehensive timer configurations: 30-minute, hourly, and daily schedules
- Include security settings, resource limits, and proper service dependencies
- Add justfile recipes for service management (install, enable, disable, status)
- Remove deprecated Makefile in favor of just-based build system
- Fix Rust compilation warnings in imap.rs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-03 23:59:34 +02:00
commit e6ab28bc9e
12 changed files with 267 additions and 128 deletions

View file

@ -0,0 +1,36 @@
[Unit]
Description=mail2couch Rust Implementation - Email backup to CouchDB
Documentation=https://kode.naiv.no/olemd/mail2couch
After=network.target
Wants=network.target
[Service]
Type=oneshot
User=%i
ExecStart=%h/bin/mail2couch-rs
WorkingDirectory=%h/.config/mail2couch
# Environment
Environment=PATH=%h/bin:/usr/local/bin:/usr/bin:/bin
Environment=RUST_LOG=info
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=mail2couch-rs
# Security settings
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=read-only
ReadOnlyPaths=/
ReadWritePaths=%h/.config/mail2couch %h/.local/share/mail2couch
# Resource limits
MemoryHigh=512M
MemoryMax=1G
CPUQuota=50%
[Install]
WantedBy=default.target