From a4e90eb36b5148ecf7b73f5f4183bc8d787ba1da Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 7 Dec 2022 10:52:25 +0000 Subject: [PATCH] Rebase nightly to jammy, migrate to s6v3 --- .github/workflows/call_invalid_helper.yml | 12 ++++++++++++ Dockerfile | 14 ++++++-------- Dockerfile.aarch64 | 12 ++++-------- Dockerfile.armhf | 12 ++++-------- README.md | 1 + readme-vars.yml | 1 + .../dependencies.d/init-jellyfin-video | 0 .../dependencies.d/init-config | 0 .../s6-rc.d/init-jellyfin-config/run} | 2 +- .../s6-rc.d/init-jellyfin-config/type | 1 + .../s6-overlay/s6-rc.d/init-jellyfin-config/up | 1 + .../dependencies.d/init-jellyfin-config | 0 .../s6-rc.d/init-jellyfin-video/run} | 0 .../s6-overlay/s6-rc.d/init-jellyfin-video/type | 1 + .../s6-overlay/s6-rc.d/init-jellyfin-video/up | 1 + .../svc-jellyfin/dependencies.d/init-services | 0 .../s6-rc.d/svc-jellyfin/notification-fd | 1 + root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run | 13 +++++++++++++ root/etc/s6-overlay/s6-rc.d/svc-jellyfin/type | 1 + .../user/contents.d/init-jellyfin-config | 0 .../s6-rc.d/user/contents.d/init-jellyfin-video | 0 .../s6-rc.d/user/contents.d/svc-jellyfin | 0 root/etc/services.d/jellyfin/run | 17 ----------------- 23 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 .github/workflows/call_invalid_helper.yml create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-video create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/dependencies.d/init-config rename root/etc/{cont-init.d/30-config => s6-overlay/s6-rc.d/init-jellyfin-config/run} (92%) mode change 100644 => 100755 create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/dependencies.d/init-jellyfin-config rename root/etc/{cont-init.d/40-gid-video => s6-overlay/s6-rc.d/init-jellyfin-video/run} (100%) mode change 100644 => 100755 create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-jellyfin/dependencies.d/init-services create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-jellyfin/notification-fd create mode 100755 root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-jellyfin/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-config create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-video create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-jellyfin delete mode 100644 root/etc/services.d/jellyfin/run diff --git a/.github/workflows/call_invalid_helper.yml b/.github/workflows/call_invalid_helper.yml new file mode 100644 index 0000000..773767c --- /dev/null +++ b/.github/workflows/call_invalid_helper.yml @@ -0,0 +1,12 @@ +name: Comment on invalid interaction +on: + issues: + types: + - labeled +jobs: + add-comment-on-invalid: + if: github.event.label.name == 'invalid' + permissions: + issues: write + uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1 + secrets: inherit diff --git a/Dockerfile b/Dockerfile index 6d0a8a8..9ba0748 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:focal +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy # set version label ARG BUILD_DATE @@ -12,14 +14,10 @@ ARG DEBIAN_FRONTEND="noninteractive" ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg && \ echo "**** install jellyfin *****" && \ curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \ - echo 'deb [arch=amd64] https://repo.jellyfin.org/ubuntu focal main' > /etc/apt/sources.list.d/jellyfin.list && \ - echo 'deb [arch=amd64] https://repo.jellyfin.org/ubuntu focal unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ + echo 'deb [arch=amd64] https://repo.jellyfin.org/ubuntu jammy main' > /etc/apt/sources.list.d/jellyfin.list && \ + echo 'deb [arch=amd64] https://repo.jellyfin.org/ubuntu jammy unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ if [ -z ${JELLYFIN_RELEASE+x} ]; then \ JELLYFIN="jellyfin-server"; \ else \ @@ -33,7 +31,7 @@ RUN \ jellyfin-web \ libfontconfig1 \ libfreetype6 \ - libssl1.1 \ + libssl3 \ mesa-va-drivers && \ echo "**** cleanup ****" && \ rm -rf \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index cea09f7..a908ea2 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy # set version label ARG BUILD_DATE @@ -12,16 +14,10 @@ ARG DEBIAN_FRONTEND="noninteractive" ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg && \ echo "**** install jellyfin *****" && \ curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \ - curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \ echo 'deb [arch=arm64] https://repo.jellyfin.org/ubuntu focal main' > /etc/apt/sources.list.d/jellyfin.list && \ echo 'deb [arch=arm64] https://repo.jellyfin.org/ubuntu focal unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ - echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \ if [ -z ${JELLYFIN_RELEASE+x} ]; then \ JELLYFIN="jellyfin-server"; \ else \ @@ -38,7 +34,7 @@ RUN \ libomxil-bellagio0 \ libomxil-bellagio-bin \ libraspberrypi0 \ - libssl1.1 && \ + libssl3 && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index ad5471a..95eded8 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy # set version label ARG BUILD_DATE @@ -12,16 +14,10 @@ ARG DEBIAN_FRONTEND="noninteractive" ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg && \ echo "**** install jellyfin *****" && \ curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \ - curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \ echo 'deb [arch=armhf] https://repo.jellyfin.org/ubuntu focal main' > /etc/apt/sources.list.d/jellyfin.list && \ echo 'deb [arch=armhf] https://repo.jellyfin.org/ubuntu focal unstable' >> /etc/apt/sources.list.d/jellyfin.list && \ - echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \ if [ -z ${JELLYFIN_RELEASE+x} ]; then \ JELLYFIN="jellyfin-server"; \ else \ @@ -38,7 +34,7 @@ RUN \ libomxil-bellagio0 \ libomxil-bellagio-bin \ libraspberrypi0 \ - libssl1.1 && \ + libssl3 && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ diff --git a/README.md b/README.md index 0847423..9ba7a1d 100644 --- a/README.md +++ b/README.md @@ -300,6 +300,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **07.12.22:** - Rebase nightly to Jammy, migrate to s6v3. * **05.01.22:** - Specify Intel iHD driver versions to avoid mismatched libva errors. * **25.12.21:** - Fix video device group perms error message. * **22.09.21:** - Pull only the server, web and ffmpeg packages instead of the wrapper. diff --git a/readme-vars.yml b/readme-vars.yml index 78f5cc5..93abfba 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -97,6 +97,7 @@ app_setup_block: | # changelog changelogs: + - { date: "07.12.22:", desc: "Rebase nightly to Jammy, migrate to s6v3." } - { date: "05.01.22:", desc: "Specify Intel iHD driver versions to avoid mismatched libva errors." } - { date: "25.12.21:", desc: "Fix video device group perms error message." } - { date: "22.09.21:", desc: "Pull only the server, web and ffmpeg packages instead of the wrapper." } diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-video b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-video new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/dependencies.d/init-config b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/dependencies.d/init-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/30-config b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run old mode 100644 new mode 100755 similarity index 92% rename from root/etc/cont-init.d/30-config rename to root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run index 25404be..b35c3f8 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run @@ -7,7 +7,7 @@ mkdir -p \ /transcode # permissions -chown abc:abc \ +lsiown abc:abc \ /config \ /config/* \ /config/data/transcodes \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/type b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/up b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/up new file mode 100644 index 0000000..4469ebd --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-config/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/dependencies.d/init-jellyfin-config b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/dependencies.d/init-jellyfin-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/40-gid-video b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run old mode 100644 new mode 100755 similarity index 100% rename from root/etc/cont-init.d/40-gid-video rename to root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up new file mode 100644 index 0000000..9c16049 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/notification-fd b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/notification-fd @@ -0,0 +1 @@ +3 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run new file mode 100755 index 0000000..6196b0f --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run @@ -0,0 +1,13 @@ +#!/usr/bin/with-contenv bash + +export \ + JELLYFIN_DATA_DIR="/config/data" \ + JELLYFIN_CONFIG_DIR="/config" \ + JELLYFIN_LOG_DIR="/config/log" \ + JELLYFIN_CACHE_DIR="/config/cache" \ + JELLYFIN_WEB_DIR="/usr/share/jellyfin/web" + +exec \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8096" \ + s6-setuidgid abc /usr/bin/jellyfin \ + --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/type b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-config b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-video b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-video new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-jellyfin b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-jellyfin new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/jellyfin/run b/root/etc/services.d/jellyfin/run deleted file mode 100644 index 3611473..0000000 --- a/root/etc/services.d/jellyfin/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/with-contenv bash - -export \ - JELLYFIN_DATA_DIR="/config/data" \ - JELLYFIN_CONFIG_DIR="/config" \ - JELLYFIN_LOG_DIR="/config/log" \ - JELLYFIN_CACHE_DIR="/config/cache" \ - JELLYFIN_WEB_DIR="/usr/share/jellyfin/web" - -if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then - echo -e "You are using a legacy method of defining umask\nplease update your environment variable from UMASK_SET to UMASK\nto keep the functionality after July 2021" - umask ${UMASK_SET} -fi - -exec \ - s6-setuidgid abc /usr/bin/jellyfin \ - --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg