From 4459ec1edcdac0f57c81641728dfe672171c124e Mon Sep 17 00:00:00 2001 From: thespad Date: Tue, 13 Aug 2024 17:21:36 +0100 Subject: [PATCH 1/3] Rebase to noble --- Dockerfile | 9 +++++---- Dockerfile.aarch64 | 9 +++++---- Jenkinsfile | 4 ++-- README.md | 5 +++-- jenkins-vars.yml | 4 ++-- readme-vars.yml | 14 ++------------ .../s6-overlay/s6-rc.d/init-jellyfin-config/run | 1 + .../etc/s6-overlay/s6-rc.d/init-jellyfin-video/run | 1 + 8 files changed, 21 insertions(+), 26 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4684d6303..de72a1d8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy +FROM ghcr.io/linuxserver/baseimage-ubuntu:noble # set version label ARG BUILD_DATE @@ -16,10 +16,10 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" RUN \ echo "**** install jellyfin *****" && \ curl -fSsL 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 jammy unstable' >> /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 && \ + echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ if [ -z ${JELLYFIN_RELEASE+x} ]; then \ - JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/unstable/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/unstable/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ fi && \ apt-get update && \ apt-get install -y \ @@ -28,6 +28,7 @@ RUN \ jellyfin-ffmpeg6 \ mesa-va-drivers \ xmlstarlet && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 2fa3997f4..1ab9ab80c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy +FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble # set version label ARG BUILD_DATE @@ -16,10 +16,10 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" RUN \ echo "**** install jellyfin *****" && \ 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 jammy unstable' >> /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 && \ + echo 'deb [arch=arm64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ if [ -z ${JELLYFIN_RELEASE+x} ]; then \ - JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/unstable/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/unstable/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \ fi && \ apt-get update && \ apt-get install -y \ @@ -30,6 +30,7 @@ RUN \ libomxil-bellagio-bin \ libraspberrypi0 \ xmlstarlet && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ diff --git a/Jenkinsfile b/Jenkinsfile index 1ebabff86..8c6f523e8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,8 +31,8 @@ pipeline { CI_PORT='8096' CI_SSL='false' CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' + CI_DOCKERENV='' + CI_AUTH='' CI_WEBPATH='' } stages { diff --git a/README.md b/README.md index a9b15bcc4..d6ffa62a1 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ services: - TZ=Etc/UTC - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional volumes: - - /path/to/library:/config + - /path/to/jellyfin/library:/config - /path/to/tvseries:/data/tvshows - /path/to/movies:/data/movies ports: @@ -170,7 +170,7 @@ docker run -d \ -p 8920:8920 `#optional` \ -p 7359:7359/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/movies:/data/movies \ --restart unless-stopped \ @@ -371,6 +371,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **13.08.24:** - Rebase to Ubuntu Noble. * **01.05.24:** - Increase verbosity of device permissions fixing. Use universal hardware acceleration blurb. * **03.12.23:** - Switch nightly to ffmpeg6. * **01.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf) diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 80012d2cd..9f3c72523 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -23,8 +23,8 @@ repo_vars: - CI_PORT='8096' - CI_SSL='false' - CI_DELAY='120' - - CI_DOCKERENV='TZ=US/Pacific' - - CI_AUTH='user:password' + - CI_DOCKERENV='' + - CI_AUTH='' - CI_WEBPATH='' sponsor_links: - { name: "Jellyfin", url: "https://opencollective.com/jellyfin" } diff --git a/readme-vars.yml b/readme-vars.yml index 810b3a213..907dcf2e1 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -20,7 +20,7 @@ common_param_env_vars_enabled: true #PGID, PUID, etc param_container_name: "{{ project_name }}" param_usage_include_vols: true 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/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 @@ -31,17 +31,6 @@ param_usage_include_env: true opt_param_usage_include_env: true opt_param_env_vars: - {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_ports: - {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 # changelog changelogs: + - {date: "13.08.24:", desc: "Rebase to Ubuntu Noble."} - {date: "01.05.24:", desc: "Increase verbosity of device permissions fixing. Use universal hardware acceleration blurb."} - {date: "03.12.23:", desc: "Switch nightly to ffmpeg6."} - {date: "01.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"} diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run index b35c3f87e..8b6a23e21 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash # create directories mkdir -p \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run index daee144b0..fe7f82819 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash FILES=$(find /dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c -print 2>/dev/null) From 8a3b192fb40365c209830b5285f944e250111e27 Mon Sep 17 00:00:00 2001 From: thespad Date: Tue, 13 Aug 2024 17:24:38 +0100 Subject: [PATCH 2/3] Fix logo url --- README.md | 2 +- readme-vars.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6ffa62a1..1c8f0b540 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Find us at: [Jellyfin](https://github.com/jellyfin/jellyfin) 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. -[![jellyfin](https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true)](https://github.com/jellyfin/jellyfin) +[![jellyfin](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jellyfin-logo.png)](https://github.com/jellyfin/jellyfin) ## Supported Architectures diff --git a/readme-vars.yml b/readme-vars.yml index 907dcf2e1..8fe294c17 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -3,7 +3,7 @@ # project information project_name: 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_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 From 79381855df8ba439a1db2295d40a31cfbfc8d96e Mon Sep 17 00:00:00 2001 From: thespad Date: Tue, 13 Aug 2024 17:34:41 +0100 Subject: [PATCH 3/3] Fix version command --- .github/workflows/external_trigger.yml | 2 +- Jenkinsfile | 2 +- jenkins-vars.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 97fcb0ebc..c21b361c0 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -20,7 +20,7 @@ jobs: echo "**** External trigger running off of nightly branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_JELLYFIN_NIGHTLY\". ****" echo "External trigger running off of nightly branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_JELLYFIN_NIGHTLY\`" >> $GITHUB_STEP_SUMMARY echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/unstable/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/unstable/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 echo "**** Can't retrieve external version, exiting ****" FAILURE_REASON="Can't retrieve external version for jellyfin branch nightly" diff --git a/Jenkinsfile b/Jenkinsfile index 8c6f523e8..88a55470c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -115,7 +115,7 @@ pipeline { steps{ script{ env.EXT_RELEASE = sh( - script: ''' curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/unstable/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/unstable/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}' ''', returnStdout: true).trim() env.RELEASE_LINK = 'custom_command' } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 9f3c72523..c3d60c844 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -3,7 +3,7 @@ # jenkins variables project_name: docker-jellyfin external_type: na -custom_version_command: "curl -sX GET https://repo.jellyfin.org/ubuntu/dists/jammy/unstable/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/unstable/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'" release_type: prerelease release_tag: nightly ls_branch: nightly