mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-11-01 05:27:38 +09:00 
			
		
		
		
	Rebase to noble
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/external_trigger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/external_trigger.yml
									
									
									
									
										vendored
									
									
								
							| @@ -20,7 +20,7 @@ jobs: | |||||||
|           echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_JELLYFIN_MASTER\". ****" |           echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_JELLYFIN_MASTER\". ****" | ||||||
|           echo "External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_JELLYFIN_MASTER\`" >> $GITHUB_STEP_SUMMARY |           echo "External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_JELLYFIN_MASTER\`" >> $GITHUB_STEP_SUMMARY | ||||||
|           echo "**** Retrieving external version ****" |           echo "**** Retrieving external version ****" | ||||||
|           EXT_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}') |           EXT_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}') | ||||||
|           if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then |           if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then | ||||||
|             echo "**** Can't retrieve external version, exiting ****" |             echo "**** Can't retrieve external version, exiting ****" | ||||||
|             FAILURE_REASON="Can't retrieve external version for jellyfin branch master" |             FAILURE_REASON="Can't retrieve external version for jellyfin branch master" | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| # syntax=docker/dockerfile:1 | # syntax=docker/dockerfile:1 | ||||||
|  |  | ||||||
| FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy | FROM ghcr.io/linuxserver/baseimage-ubuntu:noble | ||||||
|  |  | ||||||
| # set version label | # set version label | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -16,9 +16,9 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" | |||||||
| RUN \ | RUN \ | ||||||
|   echo "**** install jellyfin *****" && \ |   echo "**** install jellyfin *****" && \ | ||||||
|   curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \ |   curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \ | ||||||
|   echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main' > /etc/apt/sources.list.d/jellyfin.list && \ |   echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main' > /etc/apt/sources.list.d/jellyfin.list && \ | ||||||
|   if [ -z ${JELLYFIN_RELEASE+x} ]; then \ |   if [ -z ${JELLYFIN_RELEASE+x} ]; then \ | ||||||
|     JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ |     JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ | ||||||
|   fi && \ |   fi && \ | ||||||
|   apt-get update && \ |   apt-get update && \ | ||||||
|   apt-get install -y --no-install-recommends \ |   apt-get install -y --no-install-recommends \ | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| # syntax=docker/dockerfile:1 | # syntax=docker/dockerfile:1 | ||||||
|  |  | ||||||
| FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy | FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble | ||||||
|  |  | ||||||
| # set version label | # set version label | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -16,9 +16,9 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" | |||||||
| RUN \ | RUN \ | ||||||
|   echo "**** install jellyfin *****" && \ |   echo "**** install jellyfin *****" && \ | ||||||
|   curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \ |   curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \ | ||||||
|   echo 'deb [arch=arm64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main' > /etc/apt/sources.list.d/jellyfin.list && \ |   echo 'deb [arch=arm64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main' > /etc/apt/sources.list.d/jellyfin.list && \ | ||||||
|   if [ -z ${JELLYFIN_RELEASE+x} ]; then \ |   if [ -z ${JELLYFIN_RELEASE+x} ]; then \ | ||||||
|     JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ |     JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ | ||||||
|   fi && \ |   fi && \ | ||||||
|   apt-get update && \ |   apt-get update && \ | ||||||
|   apt-get install -y --no-install-recommends \ |   apt-get install -y --no-install-recommends \ | ||||||
| @@ -28,6 +28,7 @@ RUN \ | |||||||
|     libomxil-bellagio-bin \ |     libomxil-bellagio-bin \ | ||||||
|     libraspberrypi0 \ |     libraspberrypi0 \ | ||||||
|     xmlstarlet && \ |     xmlstarlet && \ | ||||||
|  |   printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ | ||||||
|   echo "**** cleanup ****" && \ |   echo "**** cleanup ****" && \ | ||||||
|   rm -rf \ |   rm -rf \ | ||||||
|     /tmp/* \ |     /tmp/* \ | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -31,8 +31,8 @@ pipeline { | |||||||
|     CI_PORT='8096' |     CI_PORT='8096' | ||||||
|     CI_SSL='false' |     CI_SSL='false' | ||||||
|     CI_DELAY='120' |     CI_DELAY='120' | ||||||
|     CI_DOCKERENV='TZ=US/Pacific' |     CI_DOCKERENV='' | ||||||
|     CI_AUTH='user:password' |     CI_AUTH='' | ||||||
|     CI_WEBPATH='' |     CI_WEBPATH='' | ||||||
|   } |   } | ||||||
|   stages { |   stages { | ||||||
| @@ -115,7 +115,7 @@ pipeline { | |||||||
|       steps{ |       steps{ | ||||||
|         script{ |         script{ | ||||||
|           env.EXT_RELEASE = sh( |           env.EXT_RELEASE = sh( | ||||||
|             script: ''' curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}' ''', |             script: ''' curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}' ''', | ||||||
|             returnStdout: true).trim() |             returnStdout: true).trim() | ||||||
|             env.RELEASE_LINK = 'custom_command' |             env.RELEASE_LINK = 'custom_command' | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -146,7 +146,7 @@ services: | |||||||
|       - TZ=Etc/UTC |       - TZ=Etc/UTC | ||||||
|       - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional |       - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional | ||||||
|     volumes: |     volumes: | ||||||
|       - /path/to/library:/config |       - /path/to/jellyfin/library:/config | ||||||
|       - /path/to/tvseries:/data/tvshows |       - /path/to/tvseries:/data/tvshows | ||||||
|       - /path/to/movies:/data/movies |       - /path/to/movies:/data/movies | ||||||
|     ports: |     ports: | ||||||
| @@ -170,7 +170,7 @@ docker run -d \ | |||||||
|   -p 8920:8920 `#optional` \ |   -p 8920:8920 `#optional` \ | ||||||
|   -p 7359:7359/udp `#optional` \ |   -p 7359:7359/udp `#optional` \ | ||||||
|   -p 1900:1900/udp `#optional` \ |   -p 1900:1900/udp `#optional` \ | ||||||
|   -v /path/to/library:/config \ |   -v /path/to/jellyfin/library:/config \ | ||||||
|   -v /path/to/tvseries:/data/tvshows \ |   -v /path/to/tvseries:/data/tvshows \ | ||||||
|   -v /path/to/movies:/data/movies \ |   -v /path/to/movies:/data/movies \ | ||||||
|   --restart unless-stopped \ |   --restart unless-stopped \ | ||||||
| @@ -371,6 +371,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 | |||||||
|  |  | ||||||
| ## Versions | ## Versions | ||||||
|  |  | ||||||
|  | * **13.08.24:** - Rebase to Ubuntu Noble. | ||||||
| * **01.05.24:** - Increase verbosity of device permissions fixing. | * **01.05.24:** - Increase verbosity of device permissions fixing. | ||||||
| * **12.02.24:** - Use universal hardware acceleration blurb. | * **12.02.24:** - Use universal hardware acceleration blurb. | ||||||
| * **12.09.23:** - Take ownership of plugin directories. | * **12.09.23:** - Take ownership of plugin directories. | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| # jenkins variables | # jenkins variables | ||||||
| project_name: docker-jellyfin | project_name: docker-jellyfin | ||||||
| external_type: na | external_type: na | ||||||
| custom_version_command: "curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'" | custom_version_command: "curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'" | ||||||
| release_type: stable | release_type: stable | ||||||
| release_tag: latest | release_tag: latest | ||||||
| ls_branch: master | ls_branch: master | ||||||
| @@ -22,8 +22,8 @@ repo_vars: | |||||||
|   - CI_PORT='8096' |   - CI_PORT='8096' | ||||||
|   - CI_SSL='false' |   - CI_SSL='false' | ||||||
|   - CI_DELAY='120' |   - CI_DELAY='120' | ||||||
|   - CI_DOCKERENV='TZ=US/Pacific' |   - CI_DOCKERENV='' | ||||||
|   - CI_AUTH='user:password' |   - CI_AUTH='' | ||||||
|   - CI_WEBPATH='' |   - CI_WEBPATH='' | ||||||
| sponsor_links: | sponsor_links: | ||||||
|   - { name: "Jellyfin", url: "https://opencollective.com/jellyfin" } |   - { name: "Jellyfin", url: "https://opencollective.com/jellyfin" } | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| # project information | # project information | ||||||
| project_name: jellyfin | project_name: jellyfin | ||||||
| project_url: "https://github.com/jellyfin/jellyfin" | project_url: "https://github.com/jellyfin/jellyfin" | ||||||
| project_logo: "https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true" | project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jellyfin-logo.png" | ||||||
| project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" | project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" | ||||||
| project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it." | project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it." | ||||||
| # supported architectures | # supported architectures | ||||||
| @@ -20,7 +20,7 @@ common_param_env_vars_enabled: true #PGID, PUID, etc | |||||||
| param_container_name: "{{ project_name }}" | param_container_name: "{{ project_name }}" | ||||||
| param_usage_include_vols: true | param_usage_include_vols: true | ||||||
| param_volumes: | param_volumes: | ||||||
|   - {vol_path: "/config", vol_host_path: "/path/to/library", desc: "Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.*"} |   - {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/library", desc: "Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.*"} | ||||||
|   - {vol_path: "/data/tvshows", vol_host_path: "/path/to/tvseries", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."} |   - {vol_path: "/data/tvshows", vol_host_path: "/path/to/tvseries", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."} | ||||||
|   - {vol_path: "/data/movies", vol_host_path: "/path/to/movies", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."} |   - {vol_path: "/data/movies", vol_host_path: "/path/to/movies", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."} | ||||||
| param_usage_include_ports: true | param_usage_include_ports: true | ||||||
| @@ -31,17 +31,6 @@ param_usage_include_env: true | |||||||
| opt_param_usage_include_env: true | opt_param_usage_include_env: true | ||||||
| opt_param_env_vars: | opt_param_env_vars: | ||||||
|   - {env_var: "JELLYFIN_PublishedServerUrl", env_value: "192.168.0.5", desc: "Set the autodiscovery response domain or IP address."} |   - {env_var: "JELLYFIN_PublishedServerUrl", env_value: "192.168.0.5", desc: "Set the autodiscovery response domain or IP address."} | ||||||
| opt_param_usage_include_vols: false |  | ||||||
| opt_param_volumes: |  | ||||||
|   - {vol_path: "/opt/vc/lib", vol_host_path: "/opt/vc/lib", desc: "Path for Raspberry Pi OpenMAX libs *optional*."} |  | ||||||
| opt_param_device_map: false |  | ||||||
| opt_param_devices: |  | ||||||
|   - {device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi)."} |  | ||||||
|   - {device_path: "/dev/vcsm", device_host_path: "/dev/vcsm", desc: "Only needed if you want to use your Raspberry Pi MMAL video decoding (Enabled as OpenMax H264 decode in gui settings)."} |  | ||||||
|   - {device_path: "/dev/vchiq", device_host_path: "/dev/vchiq", desc: "Only needed if you want to use your Raspberry Pi OpenMax video encoding."} |  | ||||||
|   - {device_path: "/dev/video10", device_host_path: "/dev/video10", desc: "Only needed if you want to use your Raspberry Pi V4L2 video encoding."} |  | ||||||
|   - {device_path: "/dev/video11", device_host_path: "/dev/video11", desc: "Only needed if you want to use your Raspberry Pi V4L2 video encoding."} |  | ||||||
|   - {device_path: "/dev/video12", device_host_path: "/dev/video12", desc: "Only needed if you want to use your Raspberry Pi V4L2 video encoding."} |  | ||||||
| opt_param_usage_include_ports: true | opt_param_usage_include_ports: true | ||||||
| opt_param_ports: | opt_param_ports: | ||||||
|   - {external_port: "8920", internal_port: "8920", port_desc: "Optional - Https webUI (you need to set up your own certificate)."} |   - {external_port: "8920", internal_port: "8920", port_desc: "Optional - Https webUI (you need to set up your own certificate)."} | ||||||
| @@ -102,6 +91,7 @@ readme_hwaccel: true | |||||||
| unraid_template_sync: false | unraid_template_sync: false | ||||||
| # changelog | # changelog | ||||||
| changelogs: | changelogs: | ||||||
|  |   - {date: "13.08.24:", desc: "Rebase to Ubuntu Noble."} | ||||||
|   - {date: "01.05.24:", desc: "Increase verbosity of device permissions fixing."} |   - {date: "01.05.24:", desc: "Increase verbosity of device permissions fixing."} | ||||||
|   - {date: "12.02.24:", desc: "Use universal hardware acceleration blurb."} |   - {date: "12.02.24:", desc: "Use universal hardware acceleration blurb."} | ||||||
|   - {date: "12.09.23:", desc: "Take ownership of plugin directories."} |   - {date: "12.09.23:", desc: "Take ownership of plugin directories."} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user