Switch to v4, rebase to Alpine 3.16, migrate to s6v3
This commit is contained in:
@@ -18,7 +18,7 @@ jobs:
|
||||
fi
|
||||
echo "**** External trigger running off of develop branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_SONARR_DEVELOP\". ****"
|
||||
echo "**** Retrieving external version ****"
|
||||
EXT_RELEASE=$(curl -sX GET http://services.sonarr.tv/v1/releases | jq -r '.[] | select(.branch=="develop") | .version')
|
||||
EXT_RELEASE=$(curl -sX GET http://services.sonarr.tv/v1/releases | jq -r 'first(.[] | select(.branch=="develop") | .version'))
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "**** Can't retrieve external version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve external version for sonarr branch develop"
|
||||
|
||||
+10
-43
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-mono:focal
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.16
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -8,69 +8,36 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="thespad"
|
||||
|
||||
# set environment variables
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV XDG_CONFIG_HOME="/config/xdg"
|
||||
ENV SONARR_BRANCH="develop"
|
||||
|
||||
RUN \
|
||||
echo "**** add mediaarea repository ****" && \
|
||||
curl -L \
|
||||
"https://mediaarea.net/repo/deb/repo-mediaarea_1.0-12_all.deb" \
|
||||
-o /tmp/key.deb && \
|
||||
dpkg -i /tmp/key.deb && \
|
||||
echo "deb https://mediaarea.net/repo/deb/ubuntu focal main" | tee /etc/apt/sources.list.d/mediaarea.list && \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
jq \
|
||||
mediainfo \
|
||||
libmono-system-net-http4.0-cil \
|
||||
libmono-corlib4.5-cil \
|
||||
libmono-microsoft-csharp4.0-cil \
|
||||
libmono-posix4.0-cil \
|
||||
libmono-system-componentmodel-dataannotations4.0-cil \
|
||||
libmono-system-configuration-install4.0-cil \
|
||||
libmono-system-configuration4.0-cil \
|
||||
libmono-system-core4.0-cil \
|
||||
libmono-system-data-datasetextensions4.0-cil \
|
||||
libmono-system-data4.0-cil \
|
||||
libmono-system-identitymodel4.0-cil \
|
||||
libmono-system-io-compression4.0-cil \
|
||||
libmono-system-numerics4.0-cil \
|
||||
libmono-system-runtime-serialization4.0-cil \
|
||||
libmono-system-security4.0-cil \
|
||||
libmono-system-servicemodel4.0a-cil \
|
||||
libmono-system-serviceprocess4.0-cil \
|
||||
libmono-system-transactions4.0-cil \
|
||||
libmono-system-web4.0-cil \
|
||||
libmono-system-xml-linq4.0-cil \
|
||||
libmono-system-xml4.0-cil \
|
||||
libmono-system4.0-cil && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
icu-libs \
|
||||
sqlite-libs && \
|
||||
echo "**** install sonarr ****" && \
|
||||
mkdir -p /app/sonarr/bin && \
|
||||
if [ -z ${SONARR_VERSION+x} ]; then \
|
||||
SONARR_VERSION=$(curl -sX GET http://services.sonarr.tv/v1/releases \
|
||||
| jq -r ".[] | select(.branch==\"$SONARR_BRANCH\") | .version"); \
|
||||
| jq -r "first(.[] | select(.branch==\"$SONARR_BRANCH\") | .version)"); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/sonarr.tar.gz -L \
|
||||
"https://download.sonarr.tv/v3/${SONARR_BRANCH}/${SONARR_VERSION}/Sonarr.${SONARR_BRANCH}.${SONARR_VERSION}.linux.tar.gz" && \
|
||||
"https://download.sonarr.tv/v4/${SONARR_BRANCH}/${SONARR_VERSION}/Sonarr.${SONARR_BRANCH}.${SONARR_VERSION}.linux-musl-x64.tar.gz" && \
|
||||
tar xzf \
|
||||
/tmp/sonarr.tar.gz -C \
|
||||
/app/sonarr/bin --strip-components=1 && \
|
||||
echo "UpdateMethod=docker\nBranch=${SONARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)" > /app/sonarr/package_info && \
|
||||
rm -rf /app/sonarr/bin/Sonarr.Update && \
|
||||
echo -e "UpdateMethod=docker\nBranch=${sonarr_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://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/sonarr/package_info && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
/app/sonarr/bin/Sonarr.Update \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8989
|
||||
|
||||
VOLUME /config
|
||||
|
||||
+10
-43
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-mono:arm64v8-focal
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.16
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -8,69 +8,36 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="thespad"
|
||||
|
||||
# set environment variables
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV XDG_CONFIG_HOME="/config/xdg"
|
||||
ENV SONARR_BRANCH="develop"
|
||||
|
||||
RUN \
|
||||
echo "**** add mediaarea repository ****" && \
|
||||
curl -L \
|
||||
"https://mediaarea.net/repo/deb/repo-mediaarea_1.0-12_all.deb" \
|
||||
-o /tmp/key.deb && \
|
||||
dpkg -i /tmp/key.deb && \
|
||||
echo "deb https://mediaarea.net/repo/deb/ubuntu focal main" | tee /etc/apt/sources.list.d/mediaarea.list && \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
jq \
|
||||
mediainfo \
|
||||
libmono-system-net-http4.0-cil \
|
||||
libmono-corlib4.5-cil \
|
||||
libmono-microsoft-csharp4.0-cil \
|
||||
libmono-posix4.0-cil \
|
||||
libmono-system-componentmodel-dataannotations4.0-cil \
|
||||
libmono-system-configuration-install4.0-cil \
|
||||
libmono-system-configuration4.0-cil \
|
||||
libmono-system-core4.0-cil \
|
||||
libmono-system-data-datasetextensions4.0-cil \
|
||||
libmono-system-data4.0-cil \
|
||||
libmono-system-identitymodel4.0-cil \
|
||||
libmono-system-io-compression4.0-cil \
|
||||
libmono-system-numerics4.0-cil \
|
||||
libmono-system-runtime-serialization4.0-cil \
|
||||
libmono-system-security4.0-cil \
|
||||
libmono-system-servicemodel4.0a-cil \
|
||||
libmono-system-serviceprocess4.0-cil \
|
||||
libmono-system-transactions4.0-cil \
|
||||
libmono-system-web4.0-cil \
|
||||
libmono-system-xml-linq4.0-cil \
|
||||
libmono-system-xml4.0-cil \
|
||||
libmono-system4.0-cil && \
|
||||
apk add -U --upgrade --no-cache \
|
||||
icu-libs \
|
||||
sqlite-libs && \
|
||||
echo "**** install sonarr ****" && \
|
||||
mkdir -p /app/sonarr/bin && \
|
||||
if [ -z ${SONARR_VERSION+x} ]; then \
|
||||
SONARR_VERSION=$(curl -sX GET http://services.sonarr.tv/v1/releases \
|
||||
| jq -r ".[] | select(.branch==\"$SONARR_BRANCH\") | .version"); \
|
||||
| jq -r "first(.[] | select(.branch==\"$SONARR_BRANCH\") | .version)"); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/sonarr.tar.gz -L \
|
||||
"https://download.sonarr.tv/v3/${SONARR_BRANCH}/${SONARR_VERSION}/Sonarr.${SONARR_BRANCH}.${SONARR_VERSION}.linux.tar.gz" && \
|
||||
"https://download.sonarr.tv/v4/${SONARR_BRANCH}/${SONARR_VERSION}/Sonarr.${SONARR_BRANCH}.${SONARR_VERSION}.linux-musl-arm64.tar.gz" && \
|
||||
tar xzf \
|
||||
/tmp/sonarr.tar.gz -C \
|
||||
/app/sonarr/bin --strip-components=1 && \
|
||||
echo "UpdateMethod=docker\nBranch=${SONARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)" > /app/sonarr/package_info && \
|
||||
rm -rf /app/sonarr/bin/Sonarr.Update && \
|
||||
echo -e "UpdateMethod=docker\nBranch=${sonarr_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://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/sonarr/package_info && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
/app/sonarr/bin/Sonarr.Update \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8989
|
||||
|
||||
VOLUME /config
|
||||
|
||||
+4
-39
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-mono:arm32v7-focal-3d8375bc-ls75
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.16
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -7,45 +7,10 @@ ARG SONARR_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thespad"
|
||||
|
||||
# set environment variables
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV XDG_CONFIG_HOME="/config/xdg"
|
||||
ENV SONARR_BRANCH="develop"
|
||||
|
||||
RUN \
|
||||
echo "**** add mediaarea repository ****" && \
|
||||
curl -L \
|
||||
"https://mediaarea.net/repo/deb/repo-mediaarea_1.0-12_all.deb" \
|
||||
-o /tmp/key.deb && \
|
||||
dpkg -i /tmp/key.deb && \
|
||||
echo "deb https://mediaarea.net/repo/deb/ubuntu focal main" | tee /etc/apt/sources.list.d/mediaarea.list && \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
jq \
|
||||
mediainfo && \
|
||||
echo "**** install sonarr ****" && \
|
||||
mkdir -p /app/sonarr/bin && \
|
||||
SONARR_VERSION="3.0.8.1548" && \
|
||||
curl -o \
|
||||
/tmp/sonarr.tar.gz -L \
|
||||
"https://download.sonarr.tv/v3/${SONARR_BRANCH}/${SONARR_VERSION}/Sonarr.${SONARR_BRANCH}.${SONARR_VERSION}.linux.tar.gz" && \
|
||||
tar xzf \
|
||||
/tmp/sonarr.tar.gz -C \
|
||||
/app/sonarr/bin --strip-components=1 && \
|
||||
echo "UpdateMethod=docker\nBranch=${SONARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)\nPackageGlobalMessage=Warn: Due to issues with Mono packages this container is no longer supported for 32-bit arm (armhf) platforms. See https://info.linuxserver.io for more info." > /app/sonarr/package_info && \
|
||||
rm -rf /app/sonarr/bin/Sonarr.Update && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
COPY root-armhf/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8989
|
||||
VOLUME /config
|
||||
|
||||
VOLUME /config
|
||||
Vendored
+4
-4
@@ -24,16 +24,16 @@ pipeline {
|
||||
DOCKERHUB_IMAGE = 'linuxserver/sonarr'
|
||||
DEV_DOCKERHUB_IMAGE = 'lsiodev/sonarr'
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/sonarr'
|
||||
DIST_IMAGE = 'ubuntu'
|
||||
DIST_IMAGE = 'alpine'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI_WEB='true'
|
||||
CI_PORT='8989'
|
||||
CI_SSL='false'
|
||||
CI_DELAY='120'
|
||||
CI_DOCKERENV='TZ=US/Pacific|ISCI=true'
|
||||
CI_DOCKERENV='TZ=US/Pacific'
|
||||
CI_AUTH='user:password'
|
||||
CI_WEBPATH=''
|
||||
CI_WEBPATH='/system/status'
|
||||
}
|
||||
stages {
|
||||
// Setup all the basic environment variables needed for the build
|
||||
@@ -104,7 +104,7 @@ pipeline {
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' curl -sX GET http://services.sonarr.tv/v1/releases | jq -r '.[] | select(.branch=="develop") | .version' ''',
|
||||
script: ''' curl -sX GET http://services.sonarr.tv/v1/releases | jq -r 'first(.[] | select(.branch=="develop") | .version') ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ This image provides various versions that are available via tags. Please read th
|
||||
| Tag | Available | Description |
|
||||
| :----: | :----: |--- |
|
||||
| latest | ✅ | Stable releases from Sonarr (currently v3) |
|
||||
| develop | ✅ | Development releases from Sonarr (currently v3) |
|
||||
| develop | ✅ | Development releases from Sonarr (currently v4) |
|
||||
|
||||
## Application Setup
|
||||
|
||||
@@ -236,6 +236,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **24.11.22:** - Bump develop branch to v4.
|
||||
* **03.08.22:** - Deprecate armhf.
|
||||
* **02.08.22:** - Rebase develop branch to Ubuntu Focal due to dropping of mono support on Alpine.
|
||||
* **20.02.22:** - Rebase develop branch to Alpine.
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
# jenkins variables
|
||||
project_name: docker-sonarr
|
||||
external_type: na
|
||||
custom_version_command: "curl -sX GET http://services.sonarr.tv/v1/releases | jq -r '.[] | select(.branch==\"develop\") | .version'"
|
||||
custom_version_command: "curl -sX GET http://services.sonarr.tv/v1/releases | jq -r 'first(.[] | select(.branch==\"develop\") | .version')"
|
||||
release_type: prerelease
|
||||
release_tag: develop
|
||||
ls_branch: develop
|
||||
@@ -15,15 +15,15 @@ repo_vars:
|
||||
- DOCKERHUB_IMAGE = 'linuxserver/sonarr'
|
||||
- DEV_DOCKERHUB_IMAGE = 'lsiodev/sonarr'
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/sonarr'
|
||||
- DIST_IMAGE = 'ubuntu'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- MULTIARCH='true'
|
||||
- CI='true'
|
||||
- CI_WEB='true'
|
||||
- CI_PORT='8989'
|
||||
- CI_SSL='false'
|
||||
- CI_DELAY='120'
|
||||
- CI_DOCKERENV='TZ=US/Pacific|ISCI=true'
|
||||
- CI_DOCKERENV='TZ=US/Pacific'
|
||||
- CI_AUTH='user:password'
|
||||
- CI_WEBPATH=''
|
||||
- CI_WEBPATH='/system/status'
|
||||
sponsor_links:
|
||||
- { name: "Sonarr", url: "https://sonarr.tv/donate" }
|
||||
|
||||
+2
-1
@@ -17,7 +17,7 @@ available_architectures:
|
||||
development_versions: true
|
||||
development_versions_items:
|
||||
- { tag: "latest", desc: "Stable releases from Sonarr (currently v3)" }
|
||||
- { tag: "develop", desc: "Development releases from Sonarr (currently v3)" }
|
||||
- { tag: "develop", desc: "Development releases from Sonarr (currently v4)" }
|
||||
|
||||
# container parameters
|
||||
param_container_name: "{{ project_name }}"
|
||||
@@ -43,6 +43,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "24.11.22:", desc: "Bump develop branch to v4, rebase to Alpine." }
|
||||
- { date: "03.08.22:", desc: "Deprecate armhf." }
|
||||
- { date: "02.08.22:", desc: "Rebase develop branch to Ubuntu Focal due to dropping of mono support on Alpine." }
|
||||
- { date: "20.02.22:", desc: "Rebase develop branch to Alpine." }
|
||||
|
||||
Regular → Executable
+2
-2
@@ -5,8 +5,8 @@ cat <<-EOF
|
||||
********************************************************
|
||||
* *
|
||||
* !!!! *
|
||||
* This image no longers supports *
|
||||
* 32 bit ARM due to a lack of upstream packages *
|
||||
* This Sonarr image does not support *
|
||||
* 32 bit ARM due to lack of available OS packages *
|
||||
* *
|
||||
* *
|
||||
********************************************************
|
||||
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-sonarr-config/run
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
if [[ -n $ISCI ]]; then
|
||||
sleep 180
|
||||
fi
|
||||
|
||||
exec \
|
||||
s6-svscanctl -t /run/service/
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# cleanup pid if it exists
|
||||
[[ -e /config/sonarr.pid ]] && \
|
||||
rm -rf /config/sonarr.pid
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
/app/sonarr/bin
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
/config
|
||||
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-sonarr-config/run
|
||||
@@ -0,0 +1 @@
|
||||
3
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
exec \
|
||||
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8989" \
|
||||
cd /app/sonarr/bin s6-setuidgid abc /app/sonarr/bin/Sonarr \
|
||||
-nobrowser -data=/config
|
||||
@@ -0,0 +1 @@
|
||||
longrun
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
cd /app/sonarr/bin || exit
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc mono --debug Sonarr.exe \
|
||||
-nobrowser -data=/config
|
||||
Reference in New Issue
Block a user