2022-06-22 01:18:05 +03:00
|
|
|
[Unit]
|
|
|
|
Description=Wakapi
|
|
|
|
StartLimitIntervalSec=400
|
|
|
|
StartLimitBurst=3
|
|
|
|
|
|
|
|
# Optional, in case you're running MySQL / Postgres with Systemd, too
|
|
|
|
Requires=mysql.service
|
|
|
|
After=mysql.service
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=simple
|
|
|
|
|
|
|
|
# Assuming Wakapi executable is under /opt/wakapi and config file at /etc
|
|
|
|
# Feel free to change this
|
|
|
|
WorkingDirectory=/opt/wakapi
|
|
|
|
ExecStart=/opt/wakapi/wakapi -config /etc/wakapi.yml
|
|
|
|
|
|
|
|
# Environment variables, see README for more
|
|
|
|
Environment=WAKAPI_DB_HOST=localhost
|
|
|
|
Environment=WAKAPI_DB_USER=wakapi
|
|
|
|
Environment=WAKAPI_DB_NAME=wakapi
|
|
|
|
Environment=WAKAPI_DB_PASSWORD=secretpassword
|
|
|
|
Environment=WAKAPI_PASSWORD_SALT=somerandomstring
|
|
|
|
|
|
|
|
# TODO: Use Systemd's credentials management (https://systemd.io/CREDENTIALS/) introduced in v247 (%d syntax in v250) once more established
|
|
|
|
|
|
|
|
# sudo groupadd wakapi
|
|
|
|
# sudo useradd -g wakapi wakapi
|
|
|
|
User=wakapi
|
|
|
|
Group=wakapi
|
2023-01-29 18:41:15 +03:00
|
|
|
RuntimeDirectory=wakapi # creates /run/wakapi, useful to place your socket file there
|
2022-06-22 01:18:05 +03:00
|
|
|
|
|
|
|
Restart=on-failure
|
|
|
|
RestartSec=90
|
|
|
|
|
|
|
|
# Security hardening
|
|
|
|
PrivateTmp=true
|
|
|
|
PrivateUsers=true
|
|
|
|
NoNewPrivileges=true
|
|
|
|
ProtectSystem=full
|
|
|
|
ProtectHome=true
|
|
|
|
ProtectKernelTunables=true
|
|
|
|
ProtectKernelModules=true
|
|
|
|
ProtectKernelLogs=true
|
|
|
|
ProtectControlGroups=true
|
|
|
|
PrivateDevices=true
|
|
|
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
|
|
|
ProtectClock=true
|
|
|
|
RestrictSUIDSGID=true
|
|
|
|
ProtectHostname=true
|
|
|
|
ProtectProc=invisible
|
|
|
|
|
|
|
|
[Install]
|
2023-01-29 18:41:15 +03:00
|
|
|
WantedBy=multi-user.target
|