From 95f26685b5c90bfd3570f202f7d830c7030bd092 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 4 Feb 2022 17:45:28 +0000 Subject: [PATCH 1/4] Rebase nightly to Alpine --- .github/workflows/external_trigger.yml | 2 +- Dockerfile | 24 +++++++++++------------- Dockerfile.aarch64 | 26 ++++++++++++-------------- Dockerfile.armhf | 26 ++++++++++++-------------- Jenkinsfile | 4 ++-- README.md | 2 ++ jenkins-vars.yml | 4 ++-- readme-vars.yml | 2 ++ 8 files changed, 44 insertions(+), 46 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 5442d74..a866fdb 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -18,7 +18,7 @@ jobs: fi echo "**** External trigger running off of nightly branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_READARR_NIGHTLY\". ****" echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linux | jq -r '.[0].version') + EXT_RELEASE=$(curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version') if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" FAILURE_REASON="Can't retrieve external version for readarr branch nightly" diff --git a/Dockerfile b/Dockerfile index 45acb01..fd81566 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,42 +1,40 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:focal +FROM ghcr.io/linuxserver/baseimage-alpine:3.15 # set version label ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="Roxedus" +LABEL maintainer="thespad" # environment settings -ARG DEBIAN_FRONTEND="noninteractive" ARG READARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ echo "**** install packages ****" && \ - apt-get update && \ - apt-get install --no-install-recommends -y \ + apk add -U --upgrade --no-cache \ + curl \ jq \ - libicu66 \ - sqlite3 && \ + icu-libs \ + sqlite-libs && \ echo "**** install readarr ****" && \ mkdir -p /app/readarr/bin && \ if [ -z ${READARR_RELEASE+x} ]; then \ - READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linux" \ + READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \ | jq -r '.[0].version'); \ fi && \ curl -o \ /tmp/readarr.tar.gz -L \ - "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linux&runtime=netcore&arch=x64" && \ - tar ixzf \ - /tmp/readarr.tar.gz -C \ + "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=x64" && \ + tar xzf \ + /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \ /tmp/* \ - /var/lib/apt/lists/* \ /var/tmp/* # copy local files diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index e4bffa5..d59e4a7 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,42 +1,40 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 # set version label ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="Roxedus" +LABEL maintainer="thespad" # environment settings -ARG DEBIAN_FRONTEND="noninteractive" ARG READARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ echo "**** install packages ****" && \ - apt-get update && \ - apt-get install --no-install-recommends -y \ + apk add -U --upgrade --no-cache \ + curl \ jq \ - libicu66 \ - sqlite3 && \ + icu-libs \ + sqlite-libs && \ echo "**** install readarr ****" && \ mkdir -p /app/readarr/bin && \ if [ -z ${READARR_RELEASE+x} ]; then \ - READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linux" \ + READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \ | jq -r '.[0].version'); \ fi && \ curl -o \ /tmp/readarr.tar.gz -L \ - "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linux&runtime=netcore&arch=arm64" && \ - tar ixzf \ - /tmp/readarr.tar.gz -C \ + "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=arm64" && \ + tar xzf \ + /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \ /tmp/* \ - /var/lib/apt/lists/* \ /var/tmp/* # copy local files @@ -44,4 +42,4 @@ COPY root/ / # ports and volumes EXPOSE 8787 -VOLUME /config +VOLUME /config \ No newline at end of file diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 974085e..e56e083 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,42 +1,40 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal +FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 # set version label ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="Roxedus" +LABEL maintainer="thespad" # environment settings -ARG DEBIAN_FRONTEND="noninteractive" ARG READARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ echo "**** install packages ****" && \ - apt-get update && \ - apt-get install --no-install-recommends -y \ + apk add -U --upgrade --no-cache \ + curl \ jq \ - libicu66 \ - sqlite3 && \ + icu-libs \ + sqlite-libs && \ echo "**** install readarr ****" && \ mkdir -p /app/readarr/bin && \ if [ -z ${READARR_RELEASE+x} ]; then \ - READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linux" \ + READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \ | jq -r '.[0].version'); \ fi && \ curl -o \ /tmp/readarr.tar.gz -L \ - "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linux&runtime=netcore&arch=arm" && \ - tar ixzf \ - /tmp/readarr.tar.gz -C \ + "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=arm" && \ + tar xzf \ + /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \ /tmp/* \ - /var/lib/apt/lists/* \ /var/tmp/* # copy local files @@ -44,4 +42,4 @@ COPY root/ / # ports and volumes EXPOSE 8787 -VOLUME /config +VOLUME /config \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index c376f04..4fec853 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,7 +24,7 @@ pipeline { DOCKERHUB_IMAGE = 'linuxserver/readarr' DEV_DOCKERHUB_IMAGE = 'lsiodev/readarr' PR_DOCKERHUB_IMAGE = 'lspipepr/readarr' - DIST_IMAGE = 'ubuntu' + DIST_IMAGE = 'alpine' MULTIARCH='true' CI='true' CI_WEB='true' @@ -104,7 +104,7 @@ pipeline { steps{ script{ env.EXT_RELEASE = sh( - script: ''' curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linux | jq -r '.[0].version' ''', + script: ''' curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version' ''', returnStdout: true).trim() env.RELEASE_LINK = 'custom_command' } diff --git a/README.md b/README.md index aeedfa2..f73eb8f 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **04.02.22:** - Rebase nightly branch to Alpine. * **21.01.22:** - Remove chromaprint as it's no longer a required dependency. * **01.01.22:** - Add chromaprint for audio fingerprinting. +* **30.12.21:** - Add nightly-alpine branch. * **28.07.21:** - Initial Release. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 4a584d2..698a9bb 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -2,7 +2,7 @@ # jenkins variables project_name: docker-readarr external_type: na -custom_version_command: curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linux | jq -r '.[0].version' +custom_version_command: curl -sL https://readarr.servarr.com/v1/update/nightly/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version' release_type: prerelease release_tag: nightly ls_branch: nightly @@ -14,7 +14,7 @@ repo_vars: - DOCKERHUB_IMAGE = 'linuxserver/readarr' - DEV_DOCKERHUB_IMAGE = 'lsiodev/readarr' - PR_DOCKERHUB_IMAGE = 'lspipepr/readarr' - - DIST_IMAGE = 'ubuntu' + - DIST_IMAGE = 'alpine' - MULTIARCH='true' - CI='true' - CI_WEB='true' diff --git a/readme-vars.yml b/readme-vars.yml index 4d3f9c3..7b34335 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -53,6 +53,8 @@ app_setup_block: | # changelog changelogs: + - { date: "04.02.22:", desc: "Rebase nightly branch to Alpine." } - { date: "21.01.22:", desc: "Remove chromaprint as it's no longer a required dependency." } - { date: "01.01.22:", desc: "Add chromaprint for audio fingerprinting." } + - { date: "30.12.21:", desc: "Add nightly-alpine branch." } - { date: "28.07.21:", desc: "Initial Release." } From e20a01d0fbec4c13543f90e8a8362d10d579cd1f Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 4 Feb 2022 17:52:14 +0000 Subject: [PATCH 2/4] Update maintainer --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd81566..be54cf9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="thespad" +LABEL maintainer="Roxedus,thespad" # environment settings ARG READARR_BRANCH="nightly" diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index d59e4a7..4eb4a6c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -5,7 +5,7 @@ ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="thespad" +LABEL maintainer="Roxedus,thespad" # environment settings ARG READARR_BRANCH="nightly" diff --git a/Dockerfile.armhf b/Dockerfile.armhf index e56e083..8f6ae87 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -5,7 +5,7 @@ ARG BUILD_DATE ARG VERSION ARG READARR_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="thespad" +LABEL maintainer="Roxedus,thespad" # environment settings ARG READARR_BRANCH="nightly" From ea8898d4cd146a9279c75a35e43bdc69e7644166 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 4 Feb 2022 17:52:51 +0000 Subject: [PATCH 3/4] Trailling spaces --- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 4eb4a6c..9f4139c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -42,4 +42,4 @@ COPY root/ / # ports and volumes EXPOSE 8787 -VOLUME /config \ No newline at end of file +VOLUME /config diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 8f6ae87..979ca51 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -42,4 +42,4 @@ COPY root/ / # ports and volumes EXPOSE 8787 -VOLUME /config \ No newline at end of file +VOLUME /config From 04dc93c5aa620c16551feb44eef4b2c27df2e9de Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 4 Feb 2022 18:28:11 +0000 Subject: [PATCH 4/4] Add PackageAuthor link --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index be54cf9..522dc64 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ RUN \ tar xzf \ /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 9f4139c..fb3b93f 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -30,7 +30,7 @@ RUN \ tar xzf \ /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 979ca51..c603e64 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -30,7 +30,7 @@ RUN \ tar xzf \ /tmp/readarr.tar.gz -C \ /app/readarr/bin --strip-components=1 && \ - echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ + echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)\nPackageGlobalMessage=Warn: This image is now based on Alpine. Custom scripts using apt-get will need to be updated to use apk" > /app/readarr/package_info && \ echo "**** cleanup ****" && \ rm -rf \ /app/readarr/bin/Readarr.Update \