Unify and standardize unit files between deb/rpm

Ensures that the RPM service unit has all the tweaks from the Deb
service unit, and some in the other direction too.
This commit is contained in:
Joshua M. Boniface 2021-12-12 17:01:35 -05:00
parent 9a2b88cb1f
commit fcf5b9b46e
2 changed files with 47 additions and 11 deletions

View File

@ -6,6 +6,8 @@ After = network-online.target
Type = simple Type = simple
EnvironmentFile = /etc/default/jellyfin EnvironmentFile = /etc/default/jellyfin
User = jellyfin User = jellyfin
Group = jellyfin
WorkingDirectory = /var/lib/jellyfin
ExecStart = /usr/bin/jellyfin ${JELLYFIN_WEB_OPT} ${JELLYFIN_RESTART_OPT} ${JELLYFIN_FFMPEG_OPT} ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} ${JELLYFIN_ADDITIONAL_OPTS} ExecStart = /usr/bin/jellyfin ${JELLYFIN_WEB_OPT} ${JELLYFIN_RESTART_OPT} ${JELLYFIN_FFMPEG_OPT} ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} ${JELLYFIN_ADDITIONAL_OPTS}
Restart = on-failure Restart = on-failure
TimeoutSec = 15 TimeoutSec = 15
@ -44,6 +46,5 @@ SystemCallFilter=~@setuid
SystemCallFilter=~@swap SystemCallFilter=~@swap
SystemCallErrorNumber=EPERM SystemCallErrorNumber=EPERM
[Install] [Install]
WantedBy = multi-user.target WantedBy = multi-user.target

View File

@ -1,15 +1,50 @@
[Unit] [Unit]
After=network-online.target Description = Jellyfin Media Server
Description=Jellyfin is a free software media system that puts you in control of managing and streaming your media. After = network-online.target
[Service] [Service]
EnvironmentFile=/etc/sysconfig/jellyfin Type = simple
WorkingDirectory=/var/lib/jellyfin EnvironmentFile = /etc/sysconfig/jellyfin
ExecStart=/usr/bin/jellyfin ${JELLYFIN_WEB_OPT} ${JELLYFIN_RESTART_OPT} ${JELLYFIN_FFMPEG_OPT} ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} User = jellyfin
TimeoutSec=15 Group = jellyfin
Restart=on-failure WorkingDirectory = /var/lib/jellyfin
User=jellyfin ExecStart = /usr/bin/jellyfin ${JELLYFIN_WEB_OPT} ${JELLYFIN_RESTART_OPT} ${JELLYFIN_FFMPEG_OPT} ${JELLYFIN_SERVICE_OPT} ${JELLYFIN_NOWEBAPP_OPT} ${JELLYFIN_ADDITIONAL_OPTS}
Group=jellyfin Restart = on-failure
TimeoutSec = 15
NoNewPrivileges=true
SystemCallArchitectures=native
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
RestrictNamespaces=false
RestrictRealtime=true
RestrictSUIDSGID=true
ProtectClock=true
ProtectControlGroups=false
ProtectHostname=true
ProtectKernelLogs=false
ProtectKernelModules=false
ProtectKernelTunables=false
LockPersonality=true
PrivateTmp=false
PrivateDevices=false
PrivateUsers=true
RemoveIPC=true
SystemCallFilter=~@clock
SystemCallFilter=~@aio
SystemCallFilter=~@chown
SystemCallFilter=~@cpu-emulation
SystemCallFilter=~@debug
SystemCallFilter=~@keyring
SystemCallFilter=~@memlock
SystemCallFilter=~@module
SystemCallFilter=~@mount
SystemCallFilter=~@obsolete
SystemCallFilter=~@privileged
SystemCallFilter=~@raw-io
SystemCallFilter=~@reboot
SystemCallFilter=~@setuid
SystemCallFilter=~@swap
SystemCallErrorNumber=EPERM
[Install] [Install]
WantedBy=multi-user.target WantedBy = multi-user.target