diff --git a/Dockerfile b/Dockerfile index 4684d63..de72a1d 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 2fa3997..1ab9ab8 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 1ebabff..8c6f523 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 a9b15bc..d6ffa62 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 80012d2..9f3c725 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 810b3a2..907dcf2 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 b35c3f8..8b6a23e 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 daee144..fe7f828 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)