- User-facing brand "bike-admin" -> "volundr" (page titles, top bar, login header, FastAPI title, README/AGENTS). Directory, remote, BIKE_ADMIN_* env prefix and bike_admin.db filename are unchanged. - Add deploy/: systemd unit (bike-admin.service) and a production .env template (env.production.example).
28 lines
692 B
Desktop File
28 lines
692 B
Desktop File
[Unit]
|
|
Description=volundr (bike service-due + MOT/insurance tracker)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=bike
|
|
Group=bike
|
|
WorkingDirectory=/opt/bike_admin
|
|
# Leading `-` = optional: the app still boots (and prompts for a password)
|
|
# if the .env has not been created yet.
|
|
EnvironmentFile=-/opt/bike_admin/.env
|
|
ExecStart=/opt/bike_admin/.venv/bin/uvicorn app.main:app \
|
|
--host 0.0.0.0 --port 8000 \
|
|
--forwarded-allow-ips 192.168.0.0/16 --proxy-headers
|
|
Restart=on-failure
|
|
RestartSec=2
|
|
# Hardening
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
ProtectSystem=full
|
|
ProtectHome=true
|
|
ReadWritePaths=/opt/bike_admin/data
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|