Add systemd service, timer, and socket files
All checks were successful
Deploy to Server / deploy (push) Successful in 12s

This commit is contained in:
Joakim Hellsén 2026-03-26 01:48:38 +01:00
commit 08dbefa417
Signed by: Joakim Hellsén
SSH key fingerprint: SHA256:/9h/CsExpFp+PRhsfA0xznFx2CGfTT5R/kpuFfUgEQk
4 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,10 @@
[Unit]
Description=FeedVault database backup
[Service]
Type=oneshot
User=feedvault
Group=feedvault
WorkingDirectory=/home/feedvault/feedvault
EnvironmentFile=/home/feedvault/feedvault/.env
ExecStart=/usr/bin/uv run python manage.py backup_db

View file

@ -0,0 +1,9 @@
[Unit]
Description=Nightly FeedVault database backup
[Timer]
OnCalendar=*-*-* 03:15:00
Persistent=true
[Install]
WantedBy=timers.target

View file

@ -0,0 +1,27 @@
[Unit]
Description=FeedVault
Requires=feedvault.socket
[Service]
User=feedvault
Group=feedvault
WorkingDirectory=/home/feedvault/feedvault
EnvironmentFile=/home/feedvault/feedvault/.env
RuntimeDirectory=feedvault
ExecStart=/usr/bin/uv run gunicorn config.wsgi:application --bind unix:/run/feedvault/feedvault.sock --workers 13 --name feedvault --max-requests-jitter 50 --max-requests 1200
ReadWritePaths=/home/feedvault/feedvault /run/feedvault
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=full
ProtectHome=no
CapabilityBoundingSet=
AmbientCapabilities=
RestrictRealtime=yes
LockPersonality=yes
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,11 @@
[Unit]
Description=FeedVault Socket
[Socket]
ListenStream=/run/feedvault/feedvault.sock
SocketUser=feedvault
SocketGroup=feedvault
SocketMode=0660
[Install]
WantedBy=sockets.target