limit jellyfin cpu & memory usage

main
Jef Roosens 2022-12-03 10:11:05 +01:00
parent ee9ebfadb0
commit 0712ca3e76
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
4 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,60 @@
# Jellyfin systemd configuration options
# Use this file to override the user or environment file location.
[Service]
# Alter the user that Jellyfin runs as
User = jellyfin
# Alter where environment variables are sourced from
#EnvironmentFile = /etc/default/jellyfin
# These *should* prevent Jellyfin from fully consuming my Pi's resources
CPUQuota=300%
MemoryHigh=60%
MemoryMax=75%
# Service hardening options
# These were added in PR #6953 to solve issue #6952, but some combination of
# them causes "restart.sh" functionality to break with the following error:
# sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the
# 'nosuid' option set or an NFS file system without root privileges?
# See issue #7503 for details on the troubleshooting that went into this.
# Since these were added for NixOS specifically and are above and beyond
# what 99% of systemd units do, they have been moved here as optional
# additional flags to set for maximum system security and can be enabled at
# the administrator's or package maintainer's discretion.
# Uncomment these only if you know what you're doing, and doing so may cause
# bugs with in-server Restart and potentially other functionality as well.
#NoNewPrivileges=true
#SystemCallArchitectures=native
#RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
#RestrictNamespaces=false
#RestrictRealtime=true
#RestrictSUIDSGID=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

View File

@ -1,4 +1,8 @@
---
- name: daemon-reload
systemd:
daemon_reload: true
- name: restart-jellyfin
service:
name: jellyfin

View File

@ -14,6 +14,17 @@
name: jellyfin
state: present
- name: Copy over service file
copy:
src: jellyfin.service.conf
dest: '/etc/systemd/system/jellyfin.service.d/jellyfin.service.conf'
owner: root
group: root
mode: '644'
notify:
- daemon-reload
- restart-jellyfin
- name: Copy over Environment file
copy:
src: jellyfin-defaults

View File

@ -245,3 +245,9 @@
browseable = no
writeable = yes
guest ok = no
[jellyfin-libraries]
path = /mnt/data1/jellyfin/libraries
browseable = no
writeable = yes
guest ok = no