From 87008052522e8fd667ce71fb27d2d92127e65a0b Mon Sep 17 00:00:00 2001 From: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com> Date: Sun, 3 Sep 2023 01:13:41 +0100 Subject: [PATCH 1/6] Add RFFMPEG_COMMIT_SHA env var --- .../s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run index 3d95435..4ba7066 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run @@ -17,7 +17,11 @@ fi mkdir -p /usr/local/bin/ echo "**** Grabbing rffmpeg from upstream ****" rm -rf /usr/local/bin/rffmpeg -curl -L -o /usr/local/bin/rffmpeg https://raw.githubusercontent.com/joshuaboniface/rffmpeg/master/rffmpeg +if [ ! -z "$RFFMPEG_COMMIT_SHA" ]; then + curl -L -o /usr/local/bin/rffmpeg https://raw.githubusercontent.com/joshuaboniface/rffmpeg/$RFFMPEG_COMMIT_SHA/rffmpeg +else + curl -L -o /usr/local/bin/rffmpeg https://raw.githubusercontent.com/joshuaboniface/rffmpeg/master/rffmpeg +fi chmod +x /usr/local/bin/rffmpeg ##Update rffmpeg.yml From 6574050031295e4501340344288109b3ace35d7a Mon Sep 17 00:00:00 2001 From: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com> Date: Sun, 3 Sep 2023 01:16:46 +0100 Subject: [PATCH 2/6] Document RFFMPEG_COMMIT_SHA in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69984cc..6ec8077 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ services: - RFFMPEG_WOL=api - RFFMPEG_HOST=transcode - RFFMPEG_HOST_MAC="12:ab:34:cd:ef:56" + - RFFMPEG_COMMIT_SHA=master # (optional) which commit of rffmpeg to download - WOL_API=192.168.1.5 #docker host IP - WOL_API_PORT=8431 - WOL_WAIT=10 #time transcode host takes to start From 1e37fd9749ce39caef3bb9cefcdff52212478649 Mon Sep 17 00:00:00 2001 From: Dominic Fischer Date: Fri, 8 Sep 2023 22:14:57 +0100 Subject: [PATCH 3/6] Build versioning --- .github/workflows/BuildImage.yml | 2 +- Dockerfile | 20 +++++++++++++++++-- README.md | 1 - .../init-mod-jellyfin-rffmpeg-setup/run | 11 ---------- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/.github/workflows/BuildImage.yml b/.github/workflows/BuildImage.yml index 0ed3798..bc2a780 100644 --- a/.github/workflows/BuildImage.yml +++ b/.github/workflows/BuildImage.yml @@ -20,7 +20,7 @@ jobs: echo "BASEIMAGE=${{ env.BASEIMAGE }}" >> $GITHUB_OUTPUT echo "MODNAME=${{ env.MODNAME }}" >> $GITHUB_OUTPUT # **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. **** - MOD_VERSION="" + MOD_VERSION=$(curl -s https://api.github.com/repos/joshuaboniface/rffmpeg/commits/master | jq -rc '.sha') echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_OUTPUT outputs: GITHUB_REPO: ${{ steps.outputs.outputs.GITHUB_REPO }} diff --git a/Dockerfile b/Dockerfile index 58911c7..4cf2010 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,24 @@ # syntax=docker/dockerfile:1 +FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage + +ARG MOD_VERSION=master + +RUN \ + echo "**** grab rffmpeg ****" && \ + mkdir -p /root-layer/usr/local/bin/ && \ + curl -o \ + /root-layer/usr/local/bin/rffmpeg -L \ + "https://raw.githubusercontent.com/joshuaboniface/rffmpeg/${MOD_VERSION}/rffmpeg" && \ + chmod +x /root-layer/usr/local/bin/rffmpeg + +# copy local files +COPY root/ /root-layer/ + +## Single layer deployed image ## FROM scratch LABEL maintainer="junkman690" -# copy local files -COPY root/ / +# Add files from buildstage +COPY --from=buildstage /root-layer/ / diff --git a/README.md b/README.md index 6ec8077..69984cc 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,6 @@ services: - RFFMPEG_WOL=api - RFFMPEG_HOST=transcode - RFFMPEG_HOST_MAC="12:ab:34:cd:ef:56" - - RFFMPEG_COMMIT_SHA=master # (optional) which commit of rffmpeg to download - WOL_API=192.168.1.5 #docker host IP - WOL_API_PORT=8431 - WOL_WAIT=10 #time transcode host takes to start diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run index 4ba7066..7b74e42 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-jellyfin-rffmpeg-setup/run @@ -13,17 +13,6 @@ else cp /defaults/rffmpeg.yml.sample /config/rffmpeg/rffmpeg.yml fi -#Grab rffmpeg -mkdir -p /usr/local/bin/ -echo "**** Grabbing rffmpeg from upstream ****" -rm -rf /usr/local/bin/rffmpeg -if [ ! -z "$RFFMPEG_COMMIT_SHA" ]; then - curl -L -o /usr/local/bin/rffmpeg https://raw.githubusercontent.com/joshuaboniface/rffmpeg/$RFFMPEG_COMMIT_SHA/rffmpeg -else - curl -L -o /usr/local/bin/rffmpeg https://raw.githubusercontent.com/joshuaboniface/rffmpeg/master/rffmpeg -fi -chmod +x /usr/local/bin/rffmpeg - ##Update rffmpeg.yml sed -i 's~#persist: "/run/shm"~persist: "/dev/shm"~' /config/rffmpeg/rffmpeg.yml sed -i 's~#state: "/var/lib/rffmpeg"~state: "/config/rffmpeg"~' /config/rffmpeg/rffmpeg.yml From 23f743d20957b813414f7cd5ed568449e8a60964 Mon Sep 17 00:00:00 2001 From: Dominic Fischer Date: Fri, 8 Sep 2023 22:22:53 +0100 Subject: [PATCH 4/6] Consistency --- .github/workflows/BuildImage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/BuildImage.yml b/.github/workflows/BuildImage.yml index bc2a780..1db0634 100644 --- a/.github/workflows/BuildImage.yml +++ b/.github/workflows/BuildImage.yml @@ -20,7 +20,7 @@ jobs: echo "BASEIMAGE=${{ env.BASEIMAGE }}" >> $GITHUB_OUTPUT echo "MODNAME=${{ env.MODNAME }}" >> $GITHUB_OUTPUT # **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. **** - MOD_VERSION=$(curl -s https://api.github.com/repos/joshuaboniface/rffmpeg/commits/master | jq -rc '.sha') + MOD_VERSION=$(curl -s https://api.github.com/repos/joshuaboniface/rffmpeg/commits/master | jq -rc ".sha") echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_OUTPUT outputs: GITHUB_REPO: ${{ steps.outputs.outputs.GITHUB_REPO }} From 347e1bdc19a6eaa01f3ca3edfc368927c36fb077 Mon Sep 17 00:00:00 2001 From: Dominic Fischer Date: Fri, 8 Sep 2023 23:30:35 +0100 Subject: [PATCH 5/6] curl fo --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4cf2010..22eeaf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG MOD_VERSION=master RUN \ echo "**** grab rffmpeg ****" && \ mkdir -p /root-layer/usr/local/bin/ && \ - curl -o \ + curl -fo \ /root-layer/usr/local/bin/rffmpeg -L \ "https://raw.githubusercontent.com/joshuaboniface/rffmpeg/${MOD_VERSION}/rffmpeg" && \ chmod +x /root-layer/usr/local/bin/rffmpeg From 84b657562cbb9d9568c50170191402a57bf1ed04 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Fri, 8 Sep 2023 21:54:11 -0400 Subject: [PATCH 6/6] fix arg --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 22eeaf8..fc4dccc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,12 @@ FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage -ARG MOD_VERSION=master +ARG MOD_VERSION RUN \ echo "**** grab rffmpeg ****" && \ mkdir -p /root-layer/usr/local/bin/ && \ + MOD_VERSION=${MOD_VERSION:-master} && \ curl -fo \ /root-layer/usr/local/bin/rffmpeg -L \ "https://raw.githubusercontent.com/joshuaboniface/rffmpeg/${MOD_VERSION}/rffmpeg" && \