deploy: add systemd unit + env template, document service setup
also document WUTZ_TZ / WUTZ_DAY_CUTOFF_HOUR env vars
This commit is contained in:
parent
817a560bd6
commit
179a231b58
3 changed files with 93 additions and 0 deletions
38
deploy/wutzcalc.service
Normal file
38
deploy/wutzcalc.service
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[Unit]
|
||||
Description=wutzcalc — festival drink-sale tracker
|
||||
Documentation=https://git.berlin.ccc.de/vinzenz/wutzcalc
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=wutzcalc
|
||||
Group=wutzcalc
|
||||
|
||||
# Where `pnpm build` was run — adjust to your install location.
|
||||
WorkingDirectory=/opt/wutzcalc
|
||||
# `which node` may differ (e.g. /usr/local/bin/node or an nvm path).
|
||||
ExecStart=/usr/bin/node server/dist/index.js
|
||||
|
||||
# Secrets and config live here, not in the unit. See wutzcalc.env.example.
|
||||
EnvironmentFile=/etc/wutzcalc/wutzcalc.env
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
# Creates/owns /var/lib/wutzcalc — point DB_PATH there.
|
||||
StateDirectory=wutzcalc
|
||||
|
||||
# Hardening
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectControlGroups=true
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
||||
ReadWritePaths=/var/lib/wutzcalc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Reference in a new issue