Compare commits

...
Author SHA1 Message Date
LinuxServer-CI 562ba7eedc Bot Updating Package Versions 2020-11-22 00:30:38 -05:00
LinuxServer-CI e0e2f7d0dc Bot Updating Package Versions 2020-11-15 06:29:09 +00:00
LinuxServer-CI ec9612149e Bot Updating Package Versions 2020-11-06 08:09:31 +00:00
LinuxServer-CI 01e8e0c34a Bot Updating Package Versions 2020-11-05 23:29:23 -05:00
LinuxServer-CI 920ba763f1 Bot Updating Package Versions 2020-11-02 10:04:12 -05:00
LinuxServer-CI 8f5f0c2482 Bot Updating Templated Files 2020-11-02 14:57:24 +00:00
thelamer 4f4ae14086 update baseimages 2020-11-02 06:56:01 -08:00
LinuxServer-CI f0193fd2bc Bot Updating Package Versions 2020-10-11 07:28:48 +00:00
LinuxServer-CI f829b39612 Bot Updating Templated Files 2020-10-03 22:27:29 -04:00
LinuxServer-CI c7d861aac4 Bot Updating Templated Files 2020-10-04 03:26:20 +01:00
aptalcaandGitHub 7865395fed Merge pull request #108 from linuxserver/readme-updates-nightly
Readme Updates nightly
2020-09-27 10:45:01 -04:00
Eric Nemchik 96578d19c3 Readme Updates 2020-09-27 09:13:50 -05:00
Eric NemchikandGitHub d8150a9f10 Merge pull request #105 from hotio/nightly
Merge Preview into Nightly, following the upstream changes
2020-09-27 08:21:11 -05:00
hotio 8fe4ce5012 Merge Preview into Nightly, following the upstream changes 2020-09-27 11:06:50 +02:00
LinuxServer-CI 887ac04154 Bot Updating Package Versions 2020-09-26 23:28:05 -04:00
LinuxServer-CI 8ce69a5d1d Bot Updating Package Versions 2020-09-11 15:53:15 +01:00
LinuxServer-CI a70f65e90f Bot Updating Package Versions 2020-09-04 14:58:55 +00:00
LinuxServer-CI c6d694921b Bot Updating Package Versions 2020-08-21 14:54:51 +00:00
LinuxServer-CI 07c389bb5a Bot Updating Templated Files 2020-08-21 14:52:08 +00:00
LinuxServer-CI cb7dd1cba5 Bot Updating Package Versions 2020-08-14 14:53:35 +00:00
LinuxServer-CI 6c71f0fb56 Bot Updating Package Versions 2020-08-07 15:06:38 +00:00
LinuxServer-CI 9767f9046d Bot Updating Templated Files 2020-08-07 10:52:53 -04:00
LinuxServer-CI 4afecf9d44 Bot Updating Templated Files 2020-08-07 14:51:49 +00:00
LinuxServer-CI 5d52be30be Bot Updating Templated Files 2020-07-25 19:44:05 -04:00
thelamer 5117b42b21 remove leftover params 2020-07-25 16:43:06 -07:00
thelamer 6b3578b999 use custom version command 2020-07-25 16:43:06 -07:00
thelamer a0ab197103 update url ingestion to use official radarr server 2020-07-25 16:43:06 -07:00
LinuxServer-CI 3d890e1d15 Bot Updating Package Versions 2020-07-24 10:53:35 -04:00
LinuxServer-CI d4c596e45b Bot Updating Package Versions 2020-07-17 14:53:29 +00:00
LinuxServer-CI ebfb4e7a72 Bot Updating Package Versions 2020-07-10 10:53:08 -04:00
LinuxServer-CI d20149309b Bot Updating Package Versions 2020-07-03 03:29:26 +00:00
LinuxServer-CI 2b305117fa Bot Updating Package Versions 2020-06-26 01:28:58 +00:00
LinuxServer-CI 7b73319645 Bot Updating Package Versions 2020-06-19 10:53:16 -04:00
LinuxServer-CI a01f4ac98e Bot Updating Package Versions 2020-06-12 10:53:03 -04:00
LinuxServer-CI 18e29460cf Bot Updating Package Versions 2020-06-05 10:54:33 -04:00
LinuxServer-CI a20998a9e2 Bot Updating Templated Files 2020-06-05 16:51:44 +02:00
LinuxServer-CI 1fc26e8fac Bot Updating Package Versions 2020-05-29 10:54:26 -04:00
LinuxServer-CI a8756368bb Bot Updating Templated Files 2020-05-29 14:52:12 +00:00
LinuxServer-CI 04ba0f9dc1 Bot Updating Package Versions 2020-05-22 14:53:26 +00:00
15 changed files with 582 additions and 644 deletions
+122
View File
@@ -0,0 +1,122 @@
# Contributing to radarr
## Gotchas
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
* Read, and fill the Pull Request template
* If this is a fix for a typo in code or documentation in the README please file an issue
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
## Common files
| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
| `readme-vars.yml` | This file is used to generate the `README.md` |
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-radarr/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-radarr)
### Fixing typos or clarify the text in the readme
There are variables for multiple parts of the readme, the most common ones are:
| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
### Parameters
The compose and run examples are also generated from these variables.
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
Devices, environment variables, ports and volumes expects its variables in a certain way.
### Devices
```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
### Environment variables
```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Ports
```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
### Volumes
```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
### Testing template changes
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
## Dockerfiles
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
### Testing your changes
```
git clone https://github.com/linuxserver/docker-radarr.git
cd docker-radarr
docker build \
--no-cache \
--pull \
-t linuxserver/radarr:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the chagelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-radarr/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```
+8 -4
View File
@@ -1,7 +1,10 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support.
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the issue in the Title above -->
@@ -22,9 +25,10 @@ If you are new to Docker or this application our issue tracker is **ONLY** used
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
+7 -3
View File
@@ -2,11 +2,11 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following -->
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
@@ -21,7 +21,11 @@
------------------------------
We welcome all PRs though this doesnt guarantee it will be accepted.
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-radarr/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
<!--- We welcome all PRs though this doesnt guarantee it will be accepted. -->
## Description:
<!--- Describe your changes in detail -->
+13
View File
@@ -0,0 +1,13 @@
name: Greetings
on: [pull_request_target, issues]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-radarr/blob/master/.github/ISSUE_TEMPLATE.md)!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-radarr/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}
+23
View File
@@ -0,0 +1,23 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}
+20 -18
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:LTS
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -13,33 +13,35 @@ ARG RADARR_BRANCH="nightly"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install jq ****" && \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
jq && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
if [ -z ${RADARR_RELEASE}+x} ]; then \
RADARR_RELEASE=$(curl -k "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
radarr_url=$(curl -k -sX GET "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \
| select(.version == \"${RADARR_RELEASE}\") | .url") && \
mkdir -p \
/app/radarr/bin && \
curl -o \
/tmp/radar.tar.gz -L \
"${radarr_url}" && \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=x64" && \
tar ixzf \
/tmp/radar.tar.gz -C \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "**** clean up ****" && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY /root /
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
+19 -17
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:arm64v8-LTS
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -13,33 +13,35 @@ ARG RADARR_BRANCH="nightly"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install jq ****" && \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
jq && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -k "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
radarr_url=$(curl -k -sX GET "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \
| select(.version == \"${RADARR_RELEASE}\") | .url") && \
mkdir -p \
/app/radarr/bin && \
curl -o \
/tmp/radar.tar.gz -L \
"${radarr_url}" && \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=arm64" && \
tar ixzf \
/tmp/radar.tar.gz -C \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "**** clean up ****" && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY /root /
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
+19 -17
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:arm32v7-LTS
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -13,33 +13,35 @@ ARG RADARR_BRANCH="nightly"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install jq ****" && \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
jq && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -k "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
radarr_url=$(curl -k -sX GET "https://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \
| select(.version == \"${RADARR_RELEASE}\") | .url") && \
mkdir -p \
/app/radarr/bin && \
curl -o \
/tmp/radar.tar.gz -L \
"${radarr_url}" && \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=arm" && \
tar ixzf \
/tmp/radar.tar.gz -C \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "**** clean up ****" && \
echo "**** cleanup ****" && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY /root /
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
Vendored
+97 -128
View File
@@ -16,8 +16,6 @@ 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 = 'http://radarr.aeonlucid.com/v1/update/nightly/changes?os=linux'
JSON_PATH = '.[0].version'
BUILD_VERSION_ARG = 'RADARR_RELEASE'
LS_USER = 'linuxserver'
LS_REPO = 'docker-radarr'
@@ -43,7 +41,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':nightly 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':nightly 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -57,7 +55,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./root/donate.txt'
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./root/donate.txt'
}
script{
env.LS_RELEASE_NUMBER = sh(
@@ -100,16 +98,16 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a custom json endpoint parse the return to get external tag
stage("Set ENV custom_json"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -s ${JSON_URL} | jq -r ". | ${JSON_PATH}" ''',
returnStdout: true).trim()
env.RELEASE_LINK = env.JSON_URL
}
}
// If this is a custom command to determine version use that command
stage("Set tag custom bash"){
steps{
script{
env.EXT_RELEASE = sh(
script: ''' curl -sL https://radarr.servarr.com/v1/update/nightly/changes?os=linux | jq -r '.[0].version' ''',
returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command'
}
}
}
// Sanitize the release tag and strip illegal docker or github characters
stage("Sanitize tag"){
@@ -130,8 +128,7 @@ pipeline {
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
@@ -139,6 +136,7 @@ pipeline {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
}
}
}
@@ -151,8 +149,7 @@ pipeline {
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
@@ -160,6 +157,7 @@ pipeline {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@@ -172,8 +170,7 @@ pipeline {
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
@@ -181,6 +178,7 @@ pipeline {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
@@ -193,24 +191,24 @@ pipeline {
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
string(credentialsId: 'ci-tests-s3-secret-access-key', variable: 'S3_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
-e SECRET_KEY=\"${S3_SECRET}\" \
-e ACCESS_KEY=\"${S3_KEY}\" \
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
python /upload.py'''
}
}
@@ -228,8 +226,8 @@ pipeline {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=nightly -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=nightly -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -239,7 +237,7 @@ pipeline {
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f nightly
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES}
@@ -334,28 +332,19 @@ pipeline {
label 'ARMHF'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
echo 'Logging into Github'
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
stage('Build ARM64') {
@@ -363,28 +352,19 @@ pipeline {
label 'ARM64'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
echo 'Logging into Github'
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
@@ -483,20 +463,20 @@ pipeline {
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
string(credentialsId: 'ci-tests-s3-secret-access-key ', variable: 'S3_SECRET')
]) {
script{
env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
}
sh '''#! /bin/bash
set -e
docker pull lsiodev/ci:latest
docker pull ghcr.io/linuxserver/lsiodev-ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
@@ -508,15 +488,15 @@ pipeline {
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-e SECRET_KEY=\"${S3_SECRET}\" \
-e ACCESS_KEY=\"${S3_KEY}\" \
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t lsiodev/ci:latest \
-t ghcr.io/linuxserver/lsiodev-ci:latest \
python /ci/ci.py'''
}
}
@@ -537,33 +517,29 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:nightly
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
docker push ${PUSHIMAGE}:nightly
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:nightly || :
done
'''
@@ -583,40 +559,39 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-nightly
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-nightly
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-nightly
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-nightly
docker push ${MANIFESTIMAGE}:arm32v7-nightly
docker push ${MANIFESTIMAGE}:arm64v8-nightly
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:nightly || :
docker manifest create ${MANIFESTIMAGE}:nightly ${MANIFESTIMAGE}:amd64-nightly ${MANIFESTIMAGE}:arm32v7-nightly ${MANIFESTIMAGE}:arm64v8-nightly
docker manifest annotate ${MANIFESTIMAGE}:nightly ${MANIFESTIMAGE}:arm32v7-nightly --os linux --arch arm
@@ -625,29 +600,17 @@ pipeline {
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:nightly
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
done
for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:nightly
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-nightly
docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-nightly
docker push ${LEGACYIMAGE}:amd64-${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker push ${LEGACYIMAGE}:nightly
docker push ${LEGACYIMAGE}:${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-nightly
docker push ${LEGACYIMAGE}:arm64v8-nightly
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-nightly \
@@ -657,8 +620,8 @@ pipeline {
${DELETEIMAGE}:arm64v8-nightly || :
done
docker rmi \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
}
}
@@ -683,7 +646,7 @@ pipeline {
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Data change at JSON endpoint ${JSON_URL}" > releasebody.json
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "nightly",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
@@ -709,14 +672,20 @@ pipeline {
]
]) {
sh '''#! /bin/bash
docker pull lsiodev/readme-sync
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/lsiodev-readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
lsiodev/readme-sync bash -c 'node sync' '''
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
}
}
+83 -69
View File
@@ -1,11 +1,14 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Supporters&logo=open%20collective&logoColor=FFFFFF)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
@@ -25,27 +28,26 @@ Find us at:
# [linuxserver/radarr](https://github.com/linuxserver/docker-radarr)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-radarr.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-radarr)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-radarr.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-radarr/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub%20Package&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-radarr/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab&logoColor=FFFFFF)](https://gitlab.com/Linuxserver.io/docker-radarr/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/radarr)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/radarr.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/radarr "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/radarr.svg?style=flat-square&color=E68523&label=pulls&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/radarr)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/radarr.svg?style=flat-square&color=E68523&label=stars&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/radarr)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-radarr/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/radarr/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/radarr/latest/index.html)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-radarr)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-radarr/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-radarr/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/Linuxserver.io/docker-radarr/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/radarr "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/radarr)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/radarr)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-radarr%2Fjob%2Fnightly%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/nightly/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fradarr%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/radarr/latest/index.html)
[Radarr](https://github.com/Radarr/Radarr) - A fork of Sonarr to work with movies à la Couchpotato.
[![radarr](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr.png)](https://github.com/Radarr/Radarr)
[![radarr](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr_alpha.png)](https://github.com/Radarr/Radarr)
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/radarr` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `ghcr.io/linuxserver/radarr` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
@@ -55,47 +57,30 @@ The architectures supported by this image are:
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## Version Tags
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
| Tag | Description |
| :----: | --- |
| latest | Stable Radarr releases |
| 5.14 | Stable Radarr releases, but run on Mono 5.14 |
| nightly | Nightly Radarr releases |
## Usage
Here are some example snippets to help you get started creating a container.
### docker
```
docker create \
--name=radarr \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=022 `#optional` \
-p 7878:7878 \
-v <path to data>:/config \
-v <path/to/movies>:/movies \
-v <path/to/downloadclient-downloads>:/downloads \
--restart unless-stopped \
linuxserver/radarr
```
You can choose between ,using tags, various branch versions of radarr, no tag is required to remain on the main branch.
Add one of the tags, if required, to the linuxserver/radarr line of the run/create command in the following format, linuxserver/radarr:nightly
The nightly branch and master branch can from time to time be the same version.
HOWEVER , USE THE NIGHTLY BRANCH AT YOUR OWN PERIL !!!!!!!!!
### docker-compose
### docker-compose ([recommended](https://docs.linuxserver.io/general/docker-compose))
Compatible with docker-compose v2 schemas.
```
```yaml
---
version: "2.1"
services:
radarr:
image: linuxserver/radarr
image: ghcr.io/linuxserver/radarr
container_name: radarr
environment:
- PUID=1000
@@ -103,14 +88,32 @@ services:
- TZ=Europe/London
- UMASK_SET=022 #optional
volumes:
- <path to data>:/config
- <path/to/movies>:/movies
- <path/to/downloadclient-downloads>:/downloads
- /path/to/data:/config
- /path/to/movies:/movies
- /path/to/downloadclient-downloads:/downloads
ports:
- 7878:7878
restart: unless-stopped
```
### docker cli
```
docker run -d \
--name=radarr \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=022 `#optional` \
-p 7878:7878 \
-v /path/to/data:/config \
-v /path/to/movies:/movies \
-v /path/to/downloadclient-downloads:/downloads \
--restart unless-stopped \
ghcr.io/linuxserver/radarr
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
@@ -123,12 +126,12 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London, this is required for Radarr |
| `-e UMASK_SET=022` | control permissions of files and directories created by Radarr |
| `-v /config` | Database and Radarr configs |
| `-v /movies` | Location of Movie library on disk |
| `-v /downloads` | Location of download managers output directory |
| `-v /movies` | Location of Movie library on disk (See note in Application setup) |
| `-v /downloads` | Location of download managers output directory (See note in Application setup) |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
@@ -138,6 +141,11 @@ As an example:
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
## Umask for running applications
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
@@ -157,11 +165,15 @@ In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as bel
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
**Special Note**: Following our current folder structure will result in an inability to hardlink from your downloads to your movies folder because they are on seperate volumes. To support hardlinking, ensure that the movies and downloads data are on a single volume. For example, if you have `/mnt/storage/Movies` and `/mnt/storage/downloads/completed/Movies`, you would want something like `/mnt/storage:/media` for your volume. Then you can hardlink from `/media/downloads/completed` to `/media/Movies`.
Another item to keep in mind, is that within Radarr itself, you should map your download client folder to your radarr folder. Navigate to **Settings -> Download Client -> Advanced Settings -> Remote Path Mappings**. Add a new mapping, and set: the Host as the same entry of the Host in your download client (for example its IP address), the Remote Path as `/downloads/Movies` (relative to the internal container path), and Local Path as `/media/downloads/completed/Movies`, assuming you have folders to separate your downloaded data types.
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?style=for-the-badge&color=E68523&label=mods&query=%24.mods%5B%27radarr%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=radarr "view available mods for this container.")
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=radarr&query=%24.mods%5B%27radarr%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=radarr "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) can be accessed via the dynamic badge above.
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
@@ -171,7 +183,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' radarr`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/radarr`
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/radarr`
## Updating Info
@@ -179,14 +191,6 @@ Most of our images are static, versioned, and require an image update and contai
Below are the instructions for updating containers:
### Via Docker Run/Create
* Update the image: `docker pull linuxserver/radarr`
* Stop the running container: `docker stop radarr`
* Delete the container: `docker rm radarr`
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* Start the new container: `docker start radarr`
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull radarr`
@@ -194,7 +198,14 @@ Below are the instructions for updating containers:
* or update a single container: `docker-compose up -d radarr`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
### Via Docker Run
* Update the image: `docker pull ghcr.io/linuxserver/radarr`
* Stop the running container: `docker stop radarr`
* Delete the container: `docker rm radarr`
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
docker run --rm \
@@ -202,11 +213,13 @@ Below are the instructions for updating containers:
containrrr/watchtower \
--run-once radarr
```
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
* You can also remove the old dangling images: `docker image prune`
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
### Image Update Notifications - Diun (Docker Image Update Notifier)
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
@@ -216,7 +229,7 @@ cd docker-radarr
docker build \
--no-cache \
--pull \
-t linuxserver/radarr:latest .
-t ghcr.io/linuxserver/radarr:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
@@ -228,6 +241,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **09.27.20:** - Merge Preview into Nightly.
* **05.04.20:** - Move app to /app.
* **01.08.19:** - Rebase to Linuxserver LTS mono version.
* **13.06.19:** - Add env variable for setting umask.
+2 -3
View File
@@ -2,13 +2,12 @@
# jenkins variables
project_name: docker-radarr
external_type: custom_json
external_type: na
custom_version_command: curl -sL https://radarr.servarr.com/v1/update/nightly/changes?os=linux | jq -r '.[0].version'
release_type: prerelease
release_tag: nightly
ls_branch: nightly
repo_vars:
- JSON_URL = 'http://radarr.aeonlucid.com/v1/update/nightly/changes?os=linux'
- JSON_PATH = '.[0].version'
- BUILD_VERSION_ARG = 'RADARR_RELEASE'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-radarr'
+152 -364
View File
@@ -1,365 +1,153 @@
adduser3.116ubuntu1
apt1.6.12
apt-transport-https1.6.12ubuntu0.1
apt-utils1.6.12
base-files10.1ubuntu2.8
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
binutils2.30-21ubuntu1~18.04.3
binutils-common2.30-21ubuntu1~18.04.3
binutils-x86-64-linux-gnu2.30-21ubuntu1~18.04.3
bsdutils1:2.31.1-0.4ubuntu3.6
bzip21.0.6-8.1ubuntu0.2
ca-certificates20180409
ca-certificates-mono5.20.1.34-0xamarin4+ubuntu1804b1
cli-common0.9+xamarin8+ubuntu1804b1
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.8
dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.3
dpkg-dev1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.6
findutils4.6.0+git+20170828-2
fontconfig-config2.12.6-0ubuntu2
fonts-dejavu-core2.37-1
gcc-8-base8.4.0-1ubuntu1~18.04
gnupg2.2.4-1ubuntu1.2
gnupg-l10n2.2.4-1ubuntu1.2
gnupg-utils2.2.4-1ubuntu1.2
gpg2.2.4-1ubuntu1.2
gpg-agent2.2.4-1ubuntu1.2
gpgconf2.2.4-1ubuntu1.2
gpgsm2.2.4-1ubuntu1.2
gpgv2.2.4-1ubuntu1.2
gpg-wks-client2.2.4-1ubuntu1.2
gpg-wks-server2.2.4-1ubuntu1.2
grep3.1-2build1
gzip1.6-5ubuntu1
hostname3.20
init-system-helpers1.51
jq1.5+dfsg-2
krb5-locales1.16-2ubuntu0.1
libacl12.2.52-3build1
libapt-inst2.01.6.12
libapt-pkg5.01.6.12
libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1
libbinutils2.30-21ubuntu1~18.04.3
libblkid12.31.1-0.4ubuntu3.6
libbsd00.8.7-1ubuntu0.1
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1
libcairo21.15.10-2ubuntu0.1
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1
libcom-err21.44.1-1ubuntu1.3
libcurl3-gnutls7.58.0-2ubuntu3.8
libcurl47.58.0-2ubuntu3.8
libcurl4-openssl-dev7.58.0-2ubuntu3.8
libdb5.35.3.28-13.1ubuntu1.1
libdebconfclient00.213ubuntu1
libdpkg-perl1.19.0.5ubuntu2.3
libexif120.6.21-4ubuntu0.2
libexpat12.2.5-3ubuntu0.2
libext2fs21.44.1-1ubuntu1.3
libfdisk12.31.1-0.4ubuntu3.6
libffi63.2.1-8
libfontconfig12.12.6-0ubuntu2
libfreetype62.8.1-2ubuntu2
libgcc11:8.4.0-1ubuntu1~18.04
libgcrypt201.8.1-4ubuntu1.2
libgdbm51.14.1-6
libgdbm-compat41.14.1-6
libgdiplus5.6.1-0xamarin1+ubuntu1804b1
libgif75.1.4-2ubuntu0.1
libglib2.0-02.56.4-0ubuntu0.18.04.6
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.3
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.1
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libidn2-02.0.4-1.1ubuntu0.2
libjbig02.1-3.1build1
libjpeg88c-2ubuntu8
libjpeg-turbo81.5.2-0ubuntu5.18.04.3
libjq11.5+dfsg-2
libk5crypto31.16-2ubuntu0.1
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
adduser3.118ubuntu2
apt2.0.2ubuntu0.1
apt-utils2.0.2ubuntu0.1
base-files11ubuntu5.2
base-passwd3.5.47
bash5.0-6ubuntu1.1
bsdutils1:2.34-0.1ubuntu9.1
bzip21.0.8-2
ca-certificates20201027ubuntu0.20.04.1
coreutils8.30-3ubuntu2
curl7.68.0-1ubuntu2.2
dash0.5.10.2-6
debconf1.5.73
debianutils4.9.1
diffutils1:3.7-3
dirmngr2.2.19-3ubuntu2
dpkg1.19.7ubuntu3
e2fsprogs1.45.5-2ubuntu1
fdisk2.34-0.1ubuntu9.1
findutils4.7.0-1ubuntu1
gcc-10-base10.2.0-5ubuntu1~20.04
gnupg2.2.19-3ubuntu2
gnupg-l10n2.2.19-3ubuntu2
gnupg-utils2.2.19-3ubuntu2
gpg2.2.19-3ubuntu2
gpg-agent2.2.19-3ubuntu2
gpgconf2.2.19-3ubuntu2
gpgsm2.2.19-3ubuntu2
gpgv2.2.19-3ubuntu2
gpg-wks-client2.2.19-3ubuntu2
gpg-wks-server2.2.19-3ubuntu2
grep3.4-1
gzip1.10-0ubuntu4
hostname3.23
init-system-helpers1.57
jq1.6-1
krb5-locales1.17-6ubuntu4.1
libacl12.2.53-6
libapt-pkg6.02.0.2ubuntu0.1
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libassuan02.5.3-7ubuntu2
libattr11:2.4.48-5
libaudit11:2.8.5-2ubuntu6
libaudit-common1:2.8.5-2ubuntu6
libblkid12.34-0.1ubuntu9.1
libbrotli11.0.7-6ubuntu0.1
libbz2-1.01.0.8-2
libc62.31-0ubuntu9.1
libcap-ng00.7.9-2.1build1
libc-bin2.31-0ubuntu9.1
libcom-err21.45.5-2ubuntu1
libcrypt11:4.4.10-10ubuntu4
libcurl3-gnutls7.68.0-1ubuntu2.2
libcurl47.68.0-1ubuntu2.2
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdebconfclient00.251ubuntu1
libext2fs21.45.5-2ubuntu1
libfdisk12.34-0.1ubuntu9.1
libffi73.3-4
libgcc-s110.2.0-5ubuntu1~20.04
libgcrypt201.8.5-5ubuntu1
libgmp102:6.2.0+dfsg-4
libgnutls303.6.13-2ubuntu1.3
libgpg-error01.37-1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libgssapi-krb5-21.17-6ubuntu4.1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libhogweed53.5.1+really3.5.1-2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libicu6666.1-2ubuntu2
libidn2-02.2.0-2
libjq11.6-1
libk5crypto31.17-6ubuntu4.1
libkeyutils11.6-6ubuntu1
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.5
libldap-common2.4.45+dfsg-1ubuntu1.5
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmediainfo0v520.03-1
libmms00.6.4-2
libmono-2.0-dev5.20.1.34-0xamarin4+ubuntu1804b1
libmono-accessibility4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-cairo4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-cecil-private-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-cecil-vb0.9-cil4.7-0xamarin1+ubuntu1804b1
libmono-cil-dev5.20.1.34-0xamarin4+ubuntu1804b1
libmono-codecontracts4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-compilerservices-symbolwriter4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-corlib4.5-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-cscompmgd0.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-csharp4.0c-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-custommarshalers4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-data-tds4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-db2-1.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-debugger-soft4.0a-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-http4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n4.0-all5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n-cjk4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n-mideast4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n-other4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n-rare4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-i18n-west4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-ldap4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-management4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-messaging4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-messaging-rabbitmq4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-build4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-build-engine4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-build-framework4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-build-tasks-v4.0-4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-build-utilities-v4.0-4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-csharp4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-visualbasic10.0-cil4.7-0xamarin1+ubuntu1804b1
libmono-microsoft-visualc10.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-microsoft-web-infrastructure1.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-oracle4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-parallel4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-peapi4.0a-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-posix4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-rabbitmq4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-relaxng4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-security4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmonosgen-2.0-15.20.1.34-0xamarin4+ubuntu1804b1
libmonosgen-2.0-dev5.20.1.34-0xamarin4+ubuntu1804b1
libmono-sharpzip4.84-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-simd4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-smdiagnostics0.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-sqlite4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-componentmodel-composition4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-componentmodel-dataannotations4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-configuration4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-configuration-install4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-core4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data-datasetextensions4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data-entity4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data-linq4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data-services4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-data-services-client4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-deployment4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-design4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-drawing4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-drawing-design4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-dynamic4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-enterpriseservices4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-identitymodel4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-identitymodel-selectors4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-io-compression4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-io-compression-filesystem4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-json4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-json-microsoft4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-ldap4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-ldap-protocols4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-management4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-messaging4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-net4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-net-http4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-net-http-formatting4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-net-http-webrequest4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-numerics4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-numerics-vectors4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-core2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-debugger2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-experimental2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-interfaces2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-linq2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-observable-aliases0.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-platformservices2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-providers2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-runtime-remoting2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-windows-forms2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reactive-windows-threading2.2-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-reflection-context4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-runtime4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-runtime-caching4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-runtime-durableinstancing4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-runtime-serialization4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-runtime-serialization-formatters-soap4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-security4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel4.0a-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel-activation4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel-discovery4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel-internals0.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel-routing4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-servicemodel-web4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-serviceprocess4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-threading-tasks-dataflow4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-transactions4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-abstractions4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-applicationservices4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-dynamicdata4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-extensions4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-extensions-design4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-http4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-http-selfhost4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-http-webhost4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-mobile4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-mvc3.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-razor2.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-regularexpressions4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-routing4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-services4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-webpages2.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-webpages-deployment2.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-web-webpages-razor2.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-windows4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-windows-forms4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-windows-forms-datavisualization4.0a-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-workflow-activities4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-workflow-componentmodel4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-workflow-runtime4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-xaml4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-xml4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-xml-linq4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-system-xml-serialization4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-tasklets4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-webbrowser4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-webmatrix-data4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-windowsbase4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmono-xbuild-tasks4.0-cil5.20.1.34-0xamarin4+ubuntu1804b1
libmount12.31.1-0.4ubuntu3.6
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libnunit-cil-dev2.6.4+dfsg-1
libnunit-console-runner2.6.3-cil2.6.4+dfsg-1
libnunit-core2.6.3-cil2.6.4+dfsg-1
libnunit-core-interfaces2.6.3-cil2.6.4+dfsg-1
libnunit-framework2.6.3-cil2.6.4+dfsg-1
libnunit-mocks2.6.3-cil2.6.4+dfsg-1
libnunit-util2.6.3-cil2.6.4+dfsg-1
libonig46.7.0-1
libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.1
libpam-modules1.1.8-3.6ubuntu2.18.04.1
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.1
libpam-runtime1.1.8-3.6ubuntu2.18.04.1
libpcre32:8.39-9
libperl5.265.26.1-6ubuntu0.3
libpixman-1-00.34.0-2
libpng16-161.6.34-1ubuntu0.18.04.2
libprocps62:3.3.12-3ubuntu1.2
libpsl50.19.1-5build1
libpython2.7-minimal2.7.17-1~18.04ubuntu1
libpython2.7-stdlib2.7.17-1~18.04ubuntu1
libpython-stdlib2.7.15~rc1-1
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1
libseccomp22.4.1-0ubuntu0.18.04.2
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.6
libsqlite3-03.22.0-1ubuntu0.3
libss21.44.1-1ubuntu1.3
libssl1.11.1.1-1ubuntu2.1~18.04.5
libstdc++68.4.0-1ubuntu1~18.04
libsystemd0237-3ubuntu10.40
libtasn1-64.13-2
libtiff54.0.9-5ubuntu0.3
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.40
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.6
libwind0-heimdal7.5.0+dfsg-1
libx11-62:1.6.4-3ubuntu0.2
libx11-data2:1.6.4-3ubuntu0.2
libxau61:1.0.8-1
libxcb11.13-2~ubuntu18.04
libxcb-render01.13-2~ubuntu18.04
libxcb-shm01.13-2~ubuntu18.04
libxdmcp61:1.1.2-3
libxext62:1.3.3-1
libxrender11:0.9.10-1
libzen0v50.4.38-1
libzstd11.3.3+dfsg-2ubuntu1.1
locales2.27-3ubuntu1
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
make4.1-9.1ubuntu1
mawk1.3.3-17ubuntu3
mediainfo20.03-1
mime-support3.60ubuntu1
mono-4.0-gac5.20.1.34-0xamarin4+ubuntu1804b1
mono-devel5.20.1.34-0xamarin4+ubuntu1804b1
mono-gac5.20.1.34-0xamarin4+ubuntu1804b1
mono-mcs5.20.1.34-0xamarin4+ubuntu1804b1
mono-roslyn5.20.1.34-0xamarin4+ubuntu1804b1
mono-runtime5.20.1.34-0xamarin4+ubuntu1804b1
mono-runtime-common5.20.1.34-0xamarin4+ubuntu1804b1
mono-runtime-sgen5.20.1.34-0xamarin4+ubuntu1804b1
mono-vbnc4.7-0xamarin1+ubuntu1804b1
mono-xbuild5.20.1.34-0xamarin4+ubuntu1804b1
mount2.31.1-0.4ubuntu3.6
multiarch-support2.27-3ubuntu1
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.5
passwd1:4.5-1ubuntu2
patch2.7.6-2ubuntu1.1
perl5.26.1-6ubuntu0.3
perl-base5.26.1-6ubuntu0.3
perl-modules-5.265.26.1-6ubuntu0.3
pinentry-curses1.1.0-1
pkg-config0.29.1-0ubuntu2
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
python2.7.15~rc1-1
python2.72.7.17-1~18.04ubuntu1
python2.7-minimal2.7.17-1~18.04ubuntu1
python-minimal2.7.15~rc1-1
readline-common7.0-3
repo-mediaarea1.0-12
sed4.4-2
sensible-utils0.0.12
sqlite33.22.0-1ubuntu0.3
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2019c-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
ucf3.0038
unzip6.0-21ubuntu1
util-linux2.31.1-0.4ubuntu3.6
xz-utils5.2.2-1.3
zlib1g1:1.2.11.dfsg-0ubuntu2
libldap-2.4-22.4.49+dfsg-2ubuntu1.5
libldap-common2.4.49+dfsg-2ubuntu1.5
liblz4-11.9.2-2
liblzma55.2.4-1ubuntu1
libmediainfo0v519.09+dfsg-2build1
libmms00.6.4-3
libmount12.34-0.1ubuntu9.1
libncurses66.2-0ubuntu2
libncursesw66.2-0ubuntu2
libnettle73.5.1+really3.5.1-2
libnghttp2-141.40.0-1build1
libnpth01.6-1
libonig56.9.4-1
libp11-kit00.23.20-1build1
libpam0g1.3.1-5ubuntu4.1
libpam-modules1.3.1-5ubuntu4.1
libpam-modules-bin1.3.1-5ubuntu4.1
libpam-runtime1.3.1-5ubuntu4.1
libpcre2-8-010.34-7
libpcre32:8.39-12build1
libprocps82:3.3.16-1ubuntu2
libpsl50.21.0-1ubuntu1
libreadline88.0-4
libroken18-heimdal7.7.0+dfsg-1ubuntu1
librtmp12.4+20151223.gitfa8646d.1-2build1
libsasl2-22.1.27+dfsg-2
libsasl2-modules2.1.27+dfsg-2
libsasl2-modules-db2.1.27+dfsg-2
libseccomp22.4.3-1ubuntu3.20.04.3
libselinux13.0-1build2
libsemanage13.0-1build2
libsemanage-common3.0-1build2
libsepol13.0-1
libsmartcols12.34-0.1ubuntu9.1
libsqlite3-03.31.1-4ubuntu0.2
libss21.45.5-2ubuntu1
libssh-40.9.3-2ubuntu2.1
libssl1.11.1.1f-1ubuntu2
libstdc++610.2.0-5ubuntu1~20.04
libsystemd0245.4-4ubuntu3.3
libtasn1-64.16.0-2
libtinfo66.2-0ubuntu2
libtinyxml2-6a7.0.0+dfsg-1build1
libudev1245.4-4ubuntu3.3
libunistring20.9.10-2
libuuid12.34-0.1ubuntu9.1
libwind0-heimdal7.7.0+dfsg-1ubuntu1
libzen0v50.4.37-1build1
libzstd11.4.4+dfsg-3
locales2.31-0ubuntu9.1
login1:4.8.1-1ubuntu5.20.04
logsave1.45.5-2ubuntu1
lsb-base11.1.0ubuntu2
mawk1.3.4.20200120-2
mount2.34-0.1ubuntu9.1
ncurses-base6.2-0ubuntu2
ncurses-bin6.2-0ubuntu2
openssl1.1.1f-1ubuntu2
passwd1:4.8.1-1ubuntu5.20.04
perl-base5.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2
publicsuffix20200303.0012-1
readline-common8.0-4
sed4.7-1
sensible-utils0.0.12+nmu1
sqlite33.31.1-4ubuntu0.2
sysvinit-utils2.96-2.1ubuntu1
tar1.30+dfsg-7
tzdata2020d-0ubuntu0.20.04
ubuntu-keyring2020.02.11.2
util-linux2.34-0.1ubuntu9.1
zlib1g1:1.2.11.dfsg-2ubuntu1.2
+15 -15
View File
@@ -3,7 +3,7 @@
# project information
project_name: radarr
project_url: "https://github.com/Radarr/Radarr"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr.png"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr_alpha.png"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) - A fork of Sonarr to work with movies à la Couchpotato.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
@@ -14,25 +14,20 @@ available_architectures:
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# Optional Block
optional_block_1: true
optional_block_1_items:
- |
You can choose between ,using tags, various branch versions of radarr, no tag is required to remain on the main branch.
Add one of the tags, if required, to the linuxserver/radarr line of the run/create command in the following format, linuxserver/radarr:nightly
The nightly branch and master branch can from time to time be the same version.
HOWEVER , USE THE NIGHTLY BRANCH AT YOUR OWN PERIL !!!!!!!!!
# development version
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable Radarr releases" }
- { tag: "5.14", desc: "Stable Radarr releases, but run on Mono 5.14" }
- { tag: "nightly", desc: "Nightly Radarr releases" }
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "<path to data>", desc: "Database and Radarr configs" }
- { vol_path: "/movies", vol_host_path: "<path/to/movies>", desc: "Location of Movie library on disk" }
- { vol_path: "/downloads", vol_host_path: "<path/to/downloadclient-downloads>", desc: "Location of download managers output directory" }
- { vol_path: "/config", vol_host_path: "/path/to/data", desc: "Database and Radarr configs" }
- { vol_path: "/movies", vol_host_path: "/path/to/movies", desc: "Location of Movie library on disk (See note in Application setup)" }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloadclient-downloads", desc: "Location of download managers output directory (See note in Application setup)" }
param_usage_include_ports: true
param_ports:
@@ -50,8 +45,13 @@ app_setup_block_enabled: true
app_setup_block: |
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
**Special Note**: Following our current folder structure will result in an inability to hardlink from your downloads to your movies folder because they are on seperate volumes. To support hardlinking, ensure that the movies and downloads data are on a single volume. For example, if you have `/mnt/storage/Movies` and `/mnt/storage/downloads/completed/Movies`, you would want something like `/mnt/storage:/media` for your volume. Then you can hardlink from `/media/downloads/completed` to `/media/Movies`.
Another item to keep in mind, is that within Radarr itself, you should map your download client folder to your radarr folder. Navigate to **Settings -> Download Client -> Advanced Settings -> Remote Path Mappings**. Add a new mapping, and set: the Host as the same entry of the Host in your download client (for example its IP address), the Remote Path as `/downloads/Movies` (relative to the internal container path), and Local Path as `/media/downloads/completed/Movies`, assuming you have folders to separate your downloaded data types.
# changelog
changelogs:
- { date: "09.27.20:", desc: "Merge Preview into Nightly." }
- { date: "05.04.20:", desc: "Move app to /app." }
- { date: "01.08.19:", desc: "Rebase to Linuxserver LTS mono version." }
- { date: "13.06.19:", desc: "Add env variable for setting umask." }
+1 -2
View File
@@ -2,5 +2,4 @@
# permissions
chown -R abc:abc \
/config \
/app
/config
+1 -4
View File
@@ -1,11 +1,8 @@
#!/usr/bin/with-contenv bash
UMASK_SET=${UMASK_SET:-022}
umask "$UMASK_SET"
cd /app/radarr/bin || exit
exec \
s6-setuidgid abc mono --debug Radarr.exe \
s6-setuidgid abc /app/radarr/bin/Radarr \
-nobrowser -data=/config