summarylogtreecommitdiffstats
path: root/ddnet-server.service
diff options
context:
space:
mode:
authorRafael Fontenelle2019-06-16 18:06:24 -0300
committerRafael Fontenelle2019-06-16 18:07:12 -0300
commit9005036fe45de73662f067c0bac4ea0b87348438 (patch)
tree7d2fda612e9f151478cb44564842bb053f1af0af /ddnet-server.service
parent1acacb0a9fe1fdea9afd2d68d10ff5f78a6c44d4 (diff)
downloadaur-9005036fe45de73662f067c0bac4ea0b87348438.tar.gz
Add DDNet Server systemd service, drop desktop
Instead of creating a .desktop file for the DDNet-Server executable, use a systemd unit file which runs the server instance as a user called "ddnet" and the service's data in "/var/lib/ddnet". ddnet-sysusers.conf is responsible for creating the user and group if they don't exist. It won't remove them upon package removal though, but one can use 'userdel ddnet' for that. ddnet-tmpfiles.conf is responsible for creating /var/lib/ddnet with the user and group newly created by sysusers.d config file. There will be stored autoexec_server.log, a "records" directory and any other persistent data. When starting the systemd unit file "ddnet-server.service", it runs the DDNet-Server executable with work directory "/var/lib/ddnet" as user "ddnet", which allows to store the persistent files in there. As a consequence of this change, "imagemagick" and "gendesk" are no longer needed for creating .png icon and .desktop files, so they were removed from makedepends array. .gitignore now includes *.conf and *.service to the exception list
Diffstat (limited to 'ddnet-server.service')
-rw-r--r--ddnet-server.service13
1 files changed, 13 insertions, 0 deletions
diff --git a/ddnet-server.service b/ddnet-server.service
new file mode 100644
index 000000000000..452fea2d4c9e
--- /dev/null
+++ b/ddnet-server.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = DDNet Server
+After = network-online.target
+Wants = network-online.target
+
+[Service]
+ExecStart = /usr/bin/DDNet-Server
+WorkingDirectory = /var/lib/ddnet
+User = ddnet
+Group = ddnet
+
+[Install]
+WantedBy = multi-user.target