limit jellyfin cpu & memory usage
							parent
							
								
									ee9ebfadb0
								
							
						
					
					
						commit
						0712ca3e76
					
				| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,8 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					- name: daemon-reload
 | 
				
			||||||
 | 
					  systemd:
 | 
				
			||||||
 | 
					    daemon_reload: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: restart-jellyfin
 | 
					- name: restart-jellyfin
 | 
				
			||||||
  service:
 | 
					  service:
 | 
				
			||||||
    name: jellyfin
 | 
					    name: jellyfin
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,17 @@
 | 
				
			||||||
    name: jellyfin
 | 
					    name: jellyfin
 | 
				
			||||||
    state: present
 | 
					    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
 | 
					- name: Copy over Environment file
 | 
				
			||||||
  copy:
 | 
					  copy:
 | 
				
			||||||
    src: jellyfin-defaults
 | 
					    src: jellyfin-defaults
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -245,3 +245,9 @@
 | 
				
			||||||
  browseable = no
 | 
					  browseable = no
 | 
				
			||||||
  writeable = yes
 | 
					  writeable = yes
 | 
				
			||||||
  guest ok = no
 | 
					  guest ok = no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[jellyfin-libraries]
 | 
				
			||||||
 | 
					  path = /mnt/data1/jellyfin/libraries
 | 
				
			||||||
 | 
					  browseable = no
 | 
				
			||||||
 | 
					  writeable = yes
 | 
				
			||||||
 | 
					  guest ok = no
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue