Add systemd example
2 files changed, 31 insertions, 1 deletions
diff --git a/DEPLOY.md b/DEPLOY.md
index 63f89c5..302edaa 100644
--- a/DEPLOY.md
+++ b/DEPLOY.md
@@ -29,7 +29,7 @@ services.safeNSound = {
## Other Linux distros:
Please see your service manager:
-- systemd (Debian, Arch, Fedora, ...): /etc/systemd/system/SafeNSound.service (see [example]())
+- systemd (Debian, Arch, Fedora, ...): /etc/systemd/system/SafeNSound.service (see [example](https://cgit.rory.gay/school/nodejs-final-assignment.git/tree/doc/systemd.service))
- sysvinit/openrc/... (Alpine, Gentoo, Devuan, ...): /etc/init.d/SafeNSound
## General setup considerations:
diff --git a/doc/systemd.service b/doc/systemd.service
new file mode 100644
index 0000000..37a98ca
--- /dev/null
+++ b/doc/systemd.service
@@ -0,0 +1,30 @@
+[Unit]
+After=network.target mongodb.service
+Description=SafeNSound Service
+Requires=mongodb.service
+
+[Service]
+Environment="DATABASE_SECRET_PATH=/run/credentials/safensound.service/mongodb"
+Environment="JWT_SECRET_PATH=/var/lib/SafeNSound"
+Environment="LOG_AUTH=true"
+Environment="LOG_QUERIES=true"
+Environment="LOG_REQUESTS=-"
+Environment="PORT=7645"
+DynamicUser=true
+ExecStart=/usr/bin/env node /opt/SafeNSound
+LoadCredential=mongodb:/data/secrets/safensound-mongodb
+NoNewPrivileges=true
+PrivateDevices=true
+PrivateTmp=true
+ProtectHome=true
+ProtectSystem=strict
+Restart=always
+StartLimitBurst=600
+StartLimitIntervalSec=60
+StateDirectory=SafeNSound
+StateDirectoryMode=0700
+Type=simple
+WorkingDirectory=/var/lib/SafeNSound
+
+[Install]
+WantedBy=multi-user.target
|