Merge pull request #60 from linuxserver/runtime/develop

This commit is contained in:
Roxedus 2021-07-13 21:12:46 +02:00 committed by GitHub
commit b72f3aec05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 104 additions and 87 deletions

View File

@ -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_LIDARR_DEVELOP\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -s "https://lidarr.servarr.com/v1/update/develop/changes?os=linux" | jq -r '. | .[0].version')
EXT_RELEASE=$(curl -s "https://lidarr.servarr.com/v1/update/develop/changes?runtime=netcore%26os=linux" | 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 lidarr branch develop"

View File

@ -13,30 +13,30 @@ ARG LIDARR_BRANCH="develop"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=x64" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?runtime=netcore&os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=x64" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /

View File

@ -13,30 +13,30 @@ ARG LIDARR_BRANCH="develop"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=arm64" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?runtime=netcore&os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=arm64" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /

View File

@ -13,30 +13,30 @@ ARG LIDARR_BRANCH="develop"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=arm" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu60 && \
echo "**** install lidarr ****" && \
mkdir -p /app/lidarr/bin && \
if [ -z ${LIDARR_RELEASE+x} ]; then \
LIDARR_RELEASE=$(curl -sL "https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/changes?runtime=netcore&os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/lidarr.tar.gz -L \
"https://lidarr.servarr.com/v1/update/${LIDARR_BRANCH}/updatefile?version=${LIDARR_RELEASE}&os=linux&runtime=netcore&arch=arm" && \
tar ixzf \
/tmp/lidarr.tar.gz -C \
/app/lidarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${LIDARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/lidarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/lidarr/bin/Lidarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /

2
Jenkinsfile vendored
View File

@ -16,7 +16,7 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
JSON_URL = 'https://lidarr.servarr.com/v1/update/develop/changes?os=linux'
JSON_URL = 'https://lidarr.servarr.com/v1/update/develop/changes?runtime=netcore%26os=linux'
JSON_PATH = '.[0].version'
BUILD_VERSION_ARG = 'LIDARR_RELEASE'
LS_USER = 'linuxserver'

View File

@ -74,6 +74,14 @@ Special Note: Following our current folder structure will result in an inability
Another item to keep in mind, is that within lidarr itself, you should then map your download client folder to your lidarr folder: Settings -> Download Client -> advanced -> remote path mappings. I input the host of my download client (matches the download client defined) remote path is /downloads/Music (relative to the internal container path) and local path is /media/downloads/completed/Music, assuming you have folders to seperate your downloaded data types.
### Media folders
We have set `/music` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you dont understand, or dont want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
## Usage
Here are some example snippets to help you get started creating a container.
@ -93,8 +101,8 @@ services:
- TZ=Europe/London
volumes:
- /path/to/appdata/config:/config
- /path/to/music:/music
- /path/to/downloads:/downloads
- /path/to/music:/music #optional
- /path/to/downloads:/downloads #optional
ports:
- 8686:8686
restart: unless-stopped
@ -110,8 +118,8 @@ docker run -d \
-e TZ=Europe/London \
-p 8686:8686 \
-v /path/to/appdata/config:/config \
-v /path/to/music:/music \
-v /path/to/downloads:/downloads \
-v /path/to/music:/music `#optional` \
-v /path/to/downloads:/downloads `#optional` \
--restart unless-stopped \
ghcr.io/linuxserver/lidarr
```
@ -239,7 +247,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **25.01.21:** - Publish `develop` tag.
* **11.07.21:** - Make the paths clearer to the user.
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
* **27.09.20:** - Move preview branch/tag to nightly.
* **05.04.20:** - Move app to /app.

View File

@ -1,5 +1,4 @@
---
# jenkins variables
project_name: docker-lidarr
external_type: custom_json
@ -7,7 +6,7 @@ release_type: prerelease
release_tag: develop
ls_branch: develop
repo_vars:
- JSON_URL = 'https://lidarr.servarr.com/v1/update/develop/changes?os=linux'
- JSON_URL = 'https://lidarr.servarr.com/v1/update/develop/changes?runtime=netcore%26os=linux'
- JSON_PATH = '.[0].version'
- BUILD_VERSION_ARG = 'LIDARR_RELEASE'
- LS_USER = 'linuxserver'

View File

@ -32,6 +32,8 @@ opt_param_usage_include_env: false
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Configuration files for Lidarr." }
opt_param_usage_include_vols: true
opt_param_volumes:
- { vol_path: "/music", vol_host_path: "/path/to/music", desc: "Music files (See note in Application setup)." }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Path to your download folder for music (See note in Application setup)." }
param_usage_include_ports: true
@ -46,10 +48,18 @@ app_setup_block: |
Special Note: Following our current folder structure will result in an inability to hardlink from your downloads to your Music folder because they are on seperate volumes. To support hardlinking, simply ensure that the Music and downloads data are on a single volume. For example, if you have /mnt/storage/Music and /mnt/storage/downloads/completed/Music, you would want something like /mnt/storage:/media for your volume. Then you can hardlink from /media/downloads/completed to /media/Music.
Another item to keep in mind, is that within lidarr itself, you should then map your download client folder to your lidarr folder: Settings -> Download Client -> advanced -> remote path mappings. I input the host of my download client (matches the download client defined) remote path is /downloads/Music (relative to the internal container path) and local path is /media/downloads/completed/Music, assuming you have folders to seperate your downloaded data types.
### Media folders
We have set `/music` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you dont understand, or dont want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
# changelog
changelogs:
- { date: "25.01.21:", desc: "Publish `develop` tag." }
- { date: "11.07.21:", desc: "Make the paths clearer to the user." }
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
- { date: "27.09.20:", desc: "Move preview branch/tag to nightly." }
- { date: "05.04.20:", desc: "Move app to /app." }

View File

@ -2,4 +2,4 @@
# permissions
chown -R abc:abc \
/config
/config

View File

@ -1,10 +1,10 @@
#!/usr/bin/with-contenv bash
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}
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 /app/lidarr/bin/Lidarr \
-nobrowser -data=/config
s6-setuidgid abc /app/lidarr/bin/Lidarr \
-nobrowser -data=/config