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:
parent
cf41a8c1c5
commit
e6ab28bc9e
12 changed files with 267 additions and 128 deletions
36
systemd/mail2couch-rs.service
Normal file
36
systemd/mail2couch-rs.service
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue