deploy: keep app data in /opt/bike_admin/data (ReadWritePaths)

Match the live volundr unit: drop StateDirectory=/var/lib/bike_admin in
favour of ReadWritePaths=/opt/bike_admin/data. systemd requires the
ReadWritePaths target to exist before the service starts, so the unit
documents the one-time install -d prerequisite.
This commit is contained in:
2026-09-10 13:11:27 +01:00
parent 2d63006bdc
commit ff7212ab9e
2 changed files with 5 additions and 1 deletions
+4
View File
@@ -21,6 +21,10 @@ NoNewPrivileges=true
PrivateTmp=true PrivateTmp=true
ProtectSystem=full ProtectSystem=full
ProtectHome=true ProtectHome=true
# App data lives next to the checkout at /opt/bike_admin/data (created by the
# app on startup). systemd requires the ReadWritePaths target to exist before
# it starts the service, so pre-create it with:
# sudo install -d -o bike -g bike /opt/bike_admin/data
ReadWritePaths=/opt/bike_admin/data ReadWritePaths=/opt/bike_admin/data
[Install] [Install]
+1 -1
View File
@@ -22,4 +22,4 @@ BIKE_ADMIN_BIND_PORT=8000
# BIKE_ADMIN_SERVICE_DUE_SOON_MILES=200 # service "book soon" lead time # BIKE_ADMIN_SERVICE_DUE_SOON_MILES=200 # service "book soon" lead time
# BIKE_ADMIN_RENEWAL_DUE_SOON_DAYS=60 # MOT/insurance "due soon" lead time # BIKE_ADMIN_RENEWAL_DUE_SOON_DAYS=60 # MOT/insurance "due soon" lead time
# BIKE_ADMIN_RENEWAL_MONTHS=12 # MOT/insurance validity (months) # BIKE_ADMIN_RENEWAL_MONTHS=12 # MOT/insurance validity (months)
# BIKE_ADMIN_DATA_DIR=/opt/bike_admin/data # BIKE_ADMIN_DATA_DIR=/opt/bike_admin/data # (defaults to <WorkingDirectory>/data; matches the systemd unit)