File: syncplay-server.service

package info (click to toggle)
syncplay 1.7.4%2Brepack1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,684 kB
  • sloc: python: 19,824; sh: 32; makefile: 16
file content (60 lines) | stat: -rw-r--r-- 1,964 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[Unit]
Description=Server to host Syncplay rooms
Documentation=man:syncplay-server(1)
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
DynamicUser=true

# The certbot hook will copy certificates into RuntimeDirectory=, which systemd
# creates at /run/syncplay-server
RuntimeDirectory=syncplay-server

# We must call the certbot hook as root, i.e., prefixed with '!', to copy
# the certificate into /run/syncplay-server. The hook script takes care to set
# permissions to protects the files.
ExecStartPre=!sh -c '. /etc/default/syncplay-server ; RENEWED_DOMAINS=$DOMAIN /etc/letsencrypt/renewal-hooks/deploy/syncplay-server'

# Even if the user does not use certificates, we can unconditionally pass
# '--tls <path>' as syncplay-server does not fail withouth certificates. It will
# log a warning, though.
ExecStart=/usr/bin/syncplay-server --tls /run/syncplay-server

# Security measures
PrivateUsers=true
ProtectClock=true
ProtectHome=true
PrivateDevices=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=noaccess
LockPersonality=true
MemoryDenyWriteExecute=false
RestrictAddressFamilies=~AF_PACKET
CapabilityBoundingSet=~CAP_NET_ADMIN
CapabilityBoundingSet=~CAP_SYS_MODULE
CapabilityBoundingSet=~CAP_SYS_ADMIN
CapabilityBoundingSet=~CAP_SETUID
CapabilityBoundingSet=~CAP_SETGID
CapabilityBoundingSet=~CAP_SETPCAP
CapabilityBoundingSet=~CAP_SYS_PTRACE
CapabilityBoundingSet=~CAP_CHOWN
CapabilityBoundingSet=~CAP_FSETID
CapabilityBoundingSet=~CAP_SETFCAP
CapabilityBoundingSet=~CAP_FOWNER
CapabilityBoundingSet=~CAP_IPC_OWNER
CapabilityBoundingSet=~CAP_LINUX_IMMUTABLE
CapabilityBoundingSet=~CAP_IPC_LOCK
CapabilityBoundingSet=~CAP_SYS_CHROOT
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND
CapabilityBoundingSet=~CAP_LEASE
CapabilityBoundingSet=~CAP_SYS_PACCT
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
CapabilityBoundingSet=~CAP_SYS_BOOT

[Install]
WantedBy=multi-user.target