Compare commits

...
Author SHA1 Message Date
LinuxServer-CI 342996e1d0 Bot Updating Package Versions 2021-01-17 03:50:12 +00:00
LinuxServer-CI 6bb53a8070 Bot Updating Templated Files 2021-01-12 23:12:47 -05:00
LinuxServer-CI 2731005b9e Bot Updating Package Versions 2021-01-09 02:15:04 +00:00
LinuxServer-CI 10c80ab64e Bot Updating Templated Files 2020-12-16 01:36:05 +00:00
LinuxServer-CI 850793627a Bot Updating Templated Files 2020-12-16 01:34:25 +00:00
LinuxServer-CI 3bf0ef49f1 Bot Updating Package Versions 2020-12-11 00:02:53 -05:00
aptalcaandGitHub ba0559d527 Merge pull request #115 from linuxserver/nightly-wf
add trigger workflows
2020-11-29 16:24:00 -05:00
aptalca 9b155dd18a add trigger workflows 2020-11-29 16:08:07 -05:00
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
LinuxServer-CI e0b62c181b Bot Updating Package Versions 2020-05-15 14:55:10 +00:00
LinuxServer-CI 52383907b0 Bot Updating Package Versions 2020-05-01 14:54:43 +00:00
LinuxServer-CI 7b0a4f1460 Bot Updating Templated Files 2020-05-01 14:52:03 +00:00
LinuxServer-CI 1c9c839764 Bot Updating Package Versions 2020-04-24 14:59:15 +00:00
LinuxServer-CI 9e17fd8dbb Bot Updating Templated Files 2020-04-09 21:44:35 -04:00
aptalcaandGitHub d206b55599 Merge pull request #92 from linuxserver/nightly-app
Move app to /app
2020-04-09 21:43:37 -04:00
Eric Nemchik 1c28dcb854 Fix perms on /app 2020-04-08 16:39:29 -05:00
LinuxServer-CI 66390375c5 Bot Updating Package Versions 2020-04-08 15:55:10 -05:00
LinuxServer-CI d01e5cc33f Bot Updating Templated Files 2020-04-08 20:50:03 +00:00
LinuxServer-CI a175a663de Bot Updating Templated Files 2020-04-08 15:48:49 -05:00
aptalcaandGitHub e8a3687095 Merge pull request #96 from linuxserver/nemchik-patch-2
Add donate link
2020-04-08 16:47:41 -04:00
Eric NemchikandGitHub 0996e01afd Remove blank line 2020-04-07 19:30:11 -05:00
Eric NemchikandGitHub dc2eaeb950 Add donate link 2020-04-07 17:43:34 -05:00
Eric Nemchik 9a4ee6ae29 Move app to /app 2020-04-05 02:44:10 -05:00
LinuxServer-CI 93c521ad0e Bot Updating Package Versions 2020-03-27 15:55:51 +00:00
LinuxServer-CI eb40db12fa Bot Updating Package Versions 2020-03-20 11:55:03 -04:00
LinuxServer-CI a6ab0faeee Bot Updating Package Versions 2020-03-13 16:54:25 +01:00
LinuxServer-CI 4af2b824e3 Bot Updating Package Versions 2020-02-21 15:53:49 +00:00
LinuxServer-CI 4cd68c3af1 Bot Updating Package Versions 2020-02-14 10:58:44 -05:00
LinuxServer-CI 761ca70088 Bot Updating Package Versions 2020-02-07 15:55:51 +00:00
LinuxServer-CI b5429c4214 Bot Updating Package Versions 2020-01-31 01:28:14 +00:00
LinuxServer-CI e3d5aba2f6 Bot Updating Package Versions 2020-01-24 20:31:34 +00:00
LinuxServer-CI 3778fd4560 Bot Updating Package Versions 2020-01-17 15:54:10 +00:00
LinuxServer-CI 305f765910 Bot Updating Package Versions 2019-12-20 15:55:12 +00:00
LinuxServer-CI df0ed1a354 Bot Updating Package Versions 2019-12-06 16:54:00 +01:00
LinuxServer-CI a4c650e743 Bot Updating Templated Files 2019-11-29 15:51:47 +00:00
LinuxServer-CI cfb1a97331 Bot Updating Package Versions 2019-11-22 15:54:04 +00:00
LinuxServer-CI 4cac216d3f Bot Updating Package Versions 2019-11-15 16:55:00 +01:00
Jameel Al-AzizandRyan Kuba 59d71722a2 Remove extra volumes from the Dockerfile
Specifying the volumes in the Dockerfile is unnecessary and can lead to
excessive orphaned volume if the user chooses to use different paths at
runtime.
2019-11-02 20:28:19 -07:00
LinuxServer-CI a87d46e109 Bot Updating Package Versions 2019-11-01 11:55:39 -04:00
LinuxServer-CI ae5a74967b Bot Updating Templated Files 2019-11-01 15:51:42 +00:00
LinuxServer-CI f9b2fe4394 Bot Updating Package Versions 2019-10-25 15:53:58 +01:00
LinuxServer-CI 7f9ff3cb9c Bot Updating Package Versions 2019-10-18 16:57:14 +02:00
LinuxServer-CI c5e5d96454 Bot Updating Package Versions 2019-10-11 10:58:37 -04:00
LinuxServer-CI f6fc2388b4 Bot Updating Templated Files 2019-10-11 10:52:46 -04:00
LinuxServer-CI e005681700 Bot Updating Templated Files 2019-10-11 10:51:55 -04:00
LinuxServer-CI ea5941593e Bot Updating Package Versions 2019-10-04 15:53:58 +01:00
LinuxServer-CI 784584ca72 Bot Updating Package Versions 2019-09-27 15:54:59 +01:00
LinuxServer-CI 258bb8eaf4 Bot Updating Package Versions 2019-09-20 15:57:12 +01:00
LinuxServer-CI 17f54b7fbb Bot Updating Package Versions 2019-09-13 10:59:24 -04:00
LinuxServer-CI fe41d81cfa Bot Updating Package Versions 2019-09-06 10:33:19 -04:00
LinuxServer-CI c5f51669fe Bot Updating Templated Files 2019-09-01 17:27:05 +01:00
LinuxServer-CI 18819be44c Bot Updating Templated Files 2019-09-01 12:26:07 -04:00
LinuxServer-CI 9a972bed92 Bot Updating Package Versions 2019-08-23 10:56:12 -04:00
LinuxServer-CI e93dca1060 Bot Updating Package Versions 2019-08-14 20:40:05 -04:00
LinuxServer-CI ad97cf59c5 Bot Updating Package Versions 2019-08-09 15:58:11 +01:00
LinuxServer-CI 55fe13a669 Bot Updating Package Versions 2019-08-03 16:17:13 -04:00
aptalcaandGitHub 1721d2b9f8 Merge pull request #58 from thelamer/nightly
nightly - adding LTS branch for us to freeze a stable mono for downstream
2019-08-03 16:09:33 -04:00
LinuxServer-CI 4d04550700 Bot Updating Package Versions 2019-08-02 15:54:56 +01:00
thelamer 49e12f8e39 adding LTS branch for us to freeze a stable mono for downstream 2019-08-01 17:48:05 -07:00
24 changed files with 1104 additions and 685 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" }
```
+3
View File
@@ -0,0 +1,3 @@
github: linuxserver
open_collective: linuxserver
custom: ["https://opencollective.com/radarr",]
-21
View File
@@ -1,21 +0,0 @@
<!--- Provide a general summary of the issue in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you have an issue with the project, please provide us with the following information -->
<!--- Host OS -->
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
<!--- Docker log output, docker log <container-name> -->
<!--- Mention if you're using symlinks on any of the volume mounts. -->
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
<!--- What you think your suggestion brings to the project, or fixes with the project -->
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
## Thanks, team linuxserver.io
+13
View File
@@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum
url: https://discourse.linuxserver.io
about: Post on our community forum.
- name: Documentation
url: https://docs.linuxserver.io/images/docker-radarr
about: Documentation - information about all of our containers.
+40
View File
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
---
[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. --->
<!--- Provide a general summary of the bug in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**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)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs radarr" -->
+25
View File
@@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
---
[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 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 request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->
+32 -4
View File
@@ -2,14 +2,42 @@
[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 -->
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
<!--- 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 -->
<!--- -->
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
## Thanks, team linuxserver.io
<!--- Coding guidelines: -->
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
------------------------------
- [ ] 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 -->
## Benefits of this PR and context:
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Source / References:
<!--- Please include any forum posts/github links relevant to the PR -->
+92
View File
@@ -0,0 +1,92 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/nightly'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_RADARR_NIGHTLY }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_RADARR_NIGHTLY is set; skipping trigger. ****"
exit 0
fi
echo "**** External trigger running off of nightly branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_RADARR_NIGHTLY\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sL https://radarr.servarr.com/v1/update/nightly/changes?os=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 radarr branch nightly"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-radarr/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
image="linuxserver/radarr"
tag="nightly"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fradarr%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}" \
| jq -r 'first(.manifests[].digest)')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "**** Can't retrieve last pushed version, exiting ****"
FAILURE_REASON="Can't retrieve last pushed version for radarr tag nightly"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/nightly/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
exit 0
else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/nightly/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for radarr tag nightly. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
@@ -0,0 +1,43 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '51 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-radarr/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done
+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 [bug](https://github.com/linuxserver/docker-radarr/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-radarr/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
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 }}
+38
View File
@@ -0,0 +1,38 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/nightly'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_RADARR_NIGHTLY }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_RADARR_NIGHTLY is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/nightly/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
exit 0
fi
echo "**** Package trigger running off of nightly branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_RADARR_NIGHTLY\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/nightly/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
@@ -0,0 +1,50 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '53 15 * * 1'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
triggered_branches="${triggered_branches}${br} "
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-radarr/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) Triggered for radarr** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-radarr/activity/"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
+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 }}
+22 -20
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:bionic
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,34 +13,36 @@ 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 \
/opt/radarr && \
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 \
/opt/radarr --strip-components=1 && \
echo "**** clean up ****" && \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
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
VOLUME /config /downloads /movies
VOLUME /config
+21 -19
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:arm64v8-bionic
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,34 +13,36 @@ 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 \
/opt/radarr && \
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 \
/opt/radarr --strip-components=1 && \
echo "**** clean up ****" && \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
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
VOLUME /config /downloads /movies
VOLUME /config
+21 -19
View File
@@ -1,11 +1,11 @@
FROM lsiobase/mono:arm32v7-bionic
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,34 +13,36 @@ 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 \
/opt/radarr && \
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 \
/opt/radarr --strip-components=1 && \
echo "**** clean up ****" && \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
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
VOLUME /config /downloads /movies
VOLUME /config
Vendored
+258 -155
View File
@@ -2,6 +2,10 @@ pipeline {
agent {
label 'X86-64-MULTI'
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60'))
parallelsAlwaysFailFast()
}
// Input to determine if this is a package check
parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
@@ -10,8 +14,8 @@ pipeline {
environment {
BUILDS_DISCORD=credentials('build_webhook_url')
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
JSON_URL = 'http://radarr.aeonlucid.com/v1/update/nightly/changes?os=linux'
JSON_PATH = '.[0].version'
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
BUILD_VERSION_ARG = 'RADARR_RELEASE'
LS_USER = 'linuxserver'
LS_REPO = 'docker-radarr'
@@ -37,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' ''',
@@ -51,14 +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.LICENSE_TAG = sh(
script: '''#!/bin/bash
if [ -e LICENSE ] ; then
cat LICENSE | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./root/donate.txt ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml'
}
script{
env.LS_RELEASE_NUMBER = sh(
@@ -101,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"){
@@ -131,12 +128,16 @@ pipeline {
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
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
env.CI_TAGS = 'amd64-nightly-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-nightly-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-nightly-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'nightly-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.META_TAG = 'nightly-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'nightly-version-' + env.EXT_RELEASE_CLEAN
}
}
}
@@ -149,12 +150,16 @@ pipeline {
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
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
env.CI_TAGS = 'amd64-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'nightly-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.META_TAG = 'nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'nightly-version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@@ -167,12 +172,16 @@ pipeline {
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
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
env.CI_TAGS = 'amd64-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'nightly-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = 'nightly-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'nightly-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/'
}
@@ -185,24 +194,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'''
}
}
@@ -220,36 +229,56 @@ 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 linuxserver/doc-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=nightly -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ]; then
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)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f nightly
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f nightly
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
git add ${TEMPLATED_FILES}
git rm .github/ISSUE_TEMPLATE.md || :
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Templated Files'
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, skipping Unraid template upload"
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
cd ${TEMPDIR}/unraid/templates/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
@@ -274,6 +303,26 @@ pipeline {
}
}
}
/* #######################
GitLab Mirroring
####################### */
// Ping into Gitlab to mirror this repo and have a registry endpoint
stage("GitLab Mirror"){
when {
environment name: 'EXIT_STATUS', value: ''
}
steps{
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
}
}
/* ###############
Build Container
############### */
@@ -284,8 +333,9 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
@@ -297,8 +347,9 @@ pipeline {
parallel {
stage('Build X86') {
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
@@ -306,26 +357,20 @@ 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}"
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 "Running on node: ${NODE_NAME}"
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=\"${VERSION_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') {
@@ -333,26 +378,20 @@ 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}"
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 "Running on node: ${NODE_NAME}"
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=\"${VERSION_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} || :'''
}
}
}
@@ -418,6 +457,13 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
echo "Packages were updated. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{
env.EXIT_STATUS = 'ABORTED'
}
@@ -435,6 +481,13 @@ pipeline {
}
}
steps {
sh '''#! /bin/bash
echo "There are no package updates. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{
env.EXIT_STATUS = 'ABORTED'
}
@@ -451,20 +504,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 \
@@ -476,15 +529,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'''
}
}
@@ -507,17 +560,30 @@ pipeline {
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --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 "${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
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:nightly || :
done
'''
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:nightly"
sh "docker push ${IMAGE}:nightly"
sh "docker push ${IMAGE}:${META_TAG}"
sh '''docker rmi \
${IMAGE}:${META_TAG} \
${IMAGE}:nightly || :'''
}
}
}
@@ -536,44 +602,72 @@ pipeline {
passwordVariable: 'DOCKERPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --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 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}" "${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
docker manifest annotate ${MANIFESTIMAGE}:nightly ${MANIFESTIMAGE}:arm64v8-nightly --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
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 push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
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}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done
'''
}
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-nightly \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-nightly \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-nightly \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
done
docker rmi \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
sh '''#! /bin/bash
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}
fi'''
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-nightly"
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-nightly"
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-nightly"
sh "docker push ${IMAGE}:amd64-${META_TAG}"
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
sh "docker push ${IMAGE}:amd64-nightly"
sh "docker push ${IMAGE}:arm32v7-nightly"
sh "docker push ${IMAGE}:arm64v8-nightly"
sh "docker manifest push --purge ${IMAGE}:nightly || :"
sh "docker manifest create ${IMAGE}:nightly ${IMAGE}:amd64-nightly ${IMAGE}:arm32v7-nightly ${IMAGE}:arm64v8-nightly"
sh "docker manifest annotate ${IMAGE}:nightly ${IMAGE}:arm32v7-nightly --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:nightly ${IMAGE}:arm64v8-nightly --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:nightly"
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
sh '''docker rmi \
${IMAGE}:amd64-${META_TAG} \
${IMAGE}:amd64-nightly \
${IMAGE}:arm32v7-${META_TAG} \
${IMAGE}:arm32v7-nightly \
${IMAGE}:arm64v8-${META_TAG} \
${IMAGE}:arm64v8-nightly \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
@@ -597,7 +691,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}'",\
@@ -623,14 +717,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} '''
}
}
}
@@ -657,16 +757,19 @@ pipeline {
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}
}
cleanup {
cleanWs()
}
}
}
+113 -67
View File
@@ -1,6 +1,16 @@
<!-- 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)
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
[![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:
* regular and timely application updates
* easy user mappings (PGID, PUID)
@@ -9,29 +19,35 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
* regular security updates
Find us at:
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/radarr](https://github.com/linuxserver/docker-radarr)
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![](https://images.microbadger.com/badges/version/linuxserver/radarr.svg)](https://microbadger.com/images/linuxserver/radarr "Get your own version badge on microbadger.com")
[![](https://images.microbadger.com/badges/image/linuxserver/radarr.svg)](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)
![Docker Stars](https://img.shields.io/docker/stars/linuxserver/radarr.svg)
[![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Pipeline-Builders/docker-radarr/master)](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/).
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:
@@ -41,47 +57,29 @@ 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 |
| 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"
version: "2.1"
services:
radarr:
image: linuxserver/radarr
image: ghcr.io/linuxserver/radarr
container_name: radarr
environment:
- PUID=1000
@@ -89,14 +87,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.
@@ -109,8 +125,25 @@ 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__`.
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
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
@@ -131,30 +164,31 @@ 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?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) 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
* Shell access whilst the container is running: `docker exec -it radarr /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f radarr`
* container version number
* 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
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
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`
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Compose
* Update all images: `docker-compose pull`
@@ -163,7 +197,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 \
@@ -171,21 +212,23 @@ 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:
If you want to make local modifications to these images for development purposes or just to customize the logic:
```
git clone https://github.com/linuxserver/docker-radarr.git
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`
@@ -197,6 +240,9 @@ 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.
* **10.05.19:** - Rebase to Bionic.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
+4 -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'
@@ -26,3 +25,5 @@ repo_vars:
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_WEBPATH=''
sponsor_links:
- { name: "Radarr", url: "https://opencollective.com/radarr" }
+152 -355
View File
@@ -1,356 +1,153 @@
adduser3.116ubuntu1
apt1.6.11
apt-transport-https1.6.11
apt-utils1.6.11
base-files10.1ubuntu2.4
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
binutils2.30-21ubuntu1~18.04.2
binutils-common2.30-21ubuntu1~18.04.2
binutils-x86-64-linux-gnu2.30-21ubuntu1~18.04.2
bsdutils1:2.31.1-0.4ubuntu3.3
bzip21.0.6-8.1ubuntu0.2
ca-certificates20180409
ca-certificates-mono6.0.0.313-0xamarin3+ubuntu1804b1
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.7
dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.1
dpkg-dev1.19.0.5ubuntu2.1
e2fsprogs1.44.1-1ubuntu1.1
fdisk2.31.1-0.4ubuntu3.3
findutils4.6.0+git+20170828-2
fontconfig-config2.12.6-0ubuntu2
fonts-dejavu-core2.37-1
gcc-8-base8.3.0-6ubuntu1~18.04.1
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-2
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.11
libapt-pkg5.01.6.11
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.2
libblkid12.31.1-0.4ubuntu3.3
libbsd00.8.7-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.1
libcurl3-gnutls7.58.0-2ubuntu3.7
libcurl47.58.0-2ubuntu3.7
libcurl4-openssl-dev7.58.0-2ubuntu3.7
libdb5.35.3.28-13.1ubuntu1.1
libdebconfclient00.213ubuntu1
libdpkg-perl1.19.0.5ubuntu2.1
libexif120.6.21-4
libexpat12.2.5-3ubuntu0.1
libext2fs21.44.1-1ubuntu1.1
libfdisk12.31.1-0.4ubuntu3.3
libffi63.2.1-8
libfontconfig12.12.6-0ubuntu2
libfreetype62.8.1-2ubuntu2
libgcc11:8.3.0-6ubuntu1~18.04.1
libgcrypt201.8.1-4ubuntu1.1
libgdbm51.14.1-6
libgdbm-compat41.14.1-6
libgdiplus5.6.1-0xamarin6+ubuntu1804b1
libgif75.1.4-2
libglib2.0-02.56.4-0ubuntu0.18.04.4
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.1
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.1build2
libjbig02.1-3.1build1
libjpeg88c-2ubuntu8
libjpeg-turbo81.5.2-0ubuntu5.18.04.1
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.2
apt-utils2.0.2ubuntu0.2
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.4
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.2
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.4
libcurl47.68.0-1ubuntu2.4
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.2
libldap-common2.4.45+dfsg-1ubuntu1.2
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmediainfo0v519.07-1
libmms00.6.4-2
libmono-2.0-dev6.0.0.313-0xamarin3+ubuntu1804b1
libmono-accessibility4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-cairo4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-cecil-private-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-cecil-vb0.9-cil4.7-0xamarin2+ubuntu1804b1
libmono-cil-dev6.0.0.313-0xamarin3+ubuntu1804b1
libmono-codecontracts4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-compilerservices-symbolwriter4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-corlib4.5-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-cscompmgd0.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-csharp4.0c-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-custommarshalers4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-data-tds4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-db2-1.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-debugger-soft4.0a-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-http4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n4.0-all6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n-cjk4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n-mideast4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n-other4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n-rare4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-i18n-west4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-ldap4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-management4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-messaging4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-messaging-rabbitmq4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-build4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-build-engine4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-build-framework4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-build-tasks-v4.0-4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-build-utilities-v4.0-4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-csharp4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-visualbasic10.0-cil4.7-0xamarin2+ubuntu1804b1
libmono-microsoft-visualc10.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-microsoft-web-infrastructure1.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-oracle4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-parallel4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-peapi4.0a-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-posix4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-rabbitmq4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-relaxng4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-security4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmonosgen-2.0-16.0.0.313-0xamarin3+ubuntu1804b1
libmonosgen-2.0-dev6.0.0.313-0xamarin3+ubuntu1804b1
libmono-sharpzip4.84-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-simd4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-smdiagnostics0.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-sqlite4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-componentmodel-composition4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-componentmodel-dataannotations4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-configuration4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-configuration-install4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-core4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data-datasetextensions4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data-entity4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data-linq4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data-services4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-data-services-client4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-deployment4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-design4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-drawing4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-drawing-design4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-dynamic4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-enterpriseservices4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-identitymodel4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-identitymodel-selectors4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-io-compression4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-io-compression-filesystem4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-json4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-json-microsoft4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-ldap4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-ldap-protocols4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-management4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-messaging4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-net4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-net-http4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-net-http-formatting4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-net-http-webrequest4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-numerics4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-numerics-vectors4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-core2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-debugger2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-experimental2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-interfaces2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-linq2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-observable-aliases0.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-platformservices2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-providers2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-runtime-remoting2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-windows-forms2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reactive-windows-threading2.2-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-reflection-context4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-runtime4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-runtime-caching4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-runtime-durableinstancing4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-runtime-serialization4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-runtime-serialization-formatters-soap4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-security4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel4.0a-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel-activation4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel-discovery4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel-internals0.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel-routing4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-servicemodel-web4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-serviceprocess4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-threading-tasks-dataflow4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-transactions4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-abstractions4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-applicationservices4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-dynamicdata4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-extensions4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-extensions-design4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-http4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-http-selfhost4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-http-webhost4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-mobile4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-mvc3.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-razor2.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-regularexpressions4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-routing4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-services4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-webpages2.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-webpages-deployment2.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-web-webpages-razor2.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-windows4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-windows-forms4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-windows-forms-datavisualization4.0a-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-workflow-activities4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-workflow-componentmodel4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-workflow-runtime4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-xaml4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-xml4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-xml-linq4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-system-xml-serialization4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-tasklets4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-webbrowser4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-webmatrix-data4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-windowsbase4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmono-xbuild-tasks4.0-cil6.0.0.313-0xamarin3+ubuntu1804b1
libmount12.31.1-0.4ubuntu3.3
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
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.1
libpsl50.19.1-5build1
libpython2.7-minimal2.7.15-4ubuntu4~18.04
libpython2.7-stdlib2.7.15-4ubuntu4~18.04
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
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
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.3
libsqlite3-03.22.0-1ubuntu0.1
libss21.44.1-1ubuntu1.1
libssl1.11.1.1-1ubuntu2.1~18.04.4
libstdc++68.3.0-6ubuntu1~18.04.1
libsystemd0237-3ubuntu10.24
libtasn1-64.13-2
libtiff54.0.9-5ubuntu0.2
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.24
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.3
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.37-1
libzstd11.3.3+dfsg-2ubuntu1
locales2.27-3ubuntu1
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
make4.1-9.1ubuntu1
mawk1.3.3-17ubuntu3
mediainfo19.07-1
mime-support3.60ubuntu1
mono-4.0-gac6.0.0.313-0xamarin3+ubuntu1804b1
mono-devel6.0.0.313-0xamarin3+ubuntu1804b1
mono-gac6.0.0.313-0xamarin3+ubuntu1804b1
mono-mcs6.0.0.313-0xamarin3+ubuntu1804b1
mono-roslyn6.0.0.313-0xamarin3+ubuntu1804b1
mono-runtime6.0.0.313-0xamarin3+ubuntu1804b1
mono-runtime-common6.0.0.313-0xamarin3+ubuntu1804b1
mono-runtime-sgen6.0.0.313-0xamarin3+ubuntu1804b1
mono-vbnc4.7-0xamarin2+ubuntu1804b1
mono-xbuild6.0.0.313-0xamarin3+ubuntu1804b1
mount2.31.1-0.4ubuntu3.3
multiarch-support2.27-3ubuntu1
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.4
passwd1:4.5-1ubuntu2
patch2.7.6-2ubuntu1
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.1
publicsuffix20180223.1310-1
python2.7.15~rc1-1
python2.72.7.15-4ubuntu4~18.04
python2.7-minimal2.7.15-4ubuntu4~18.04
python-minimal2.7.15~rc1-1
readline-common7.0-3
sed4.4-2
sensible-utils0.0.12
sqlite33.22.0-1ubuntu0.1
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2019b-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
ucf3.0038
unzip6.0-21ubuntu1
util-linux2.31.1-0.4ubuntu3.3
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-1ubuntu0.1
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.1
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.1
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
tzdata2020f-0ubuntu0.20.04.1
ubuntu-keyring2020.02.11.2
util-linux2.34-0.1ubuntu9.1
zlib1g1:1.2.11.dfsg-2ubuntu1.2
+16 -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,19 @@ 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: "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 +44,15 @@ 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." }
- { date: "10.05.19:", desc: "Rebase to Bionic." }
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
+1
View File
@@ -0,0 +1 @@
Radarr: https://opencollective.com/radarr
+1 -3
View File
@@ -2,6 +2,4 @@
# permissions
chown -R abc:abc \
/config \
/opt
/config
+1 -4
View File
@@ -1,11 +1,8 @@
#!/usr/bin/with-contenv bash
UMASK_SET=${UMASK_SET:-022}
umask "$UMASK_SET"
cd /opt/radarr || exit
exec \
s6-setuidgid abc mono --debug Radarr.exe \
s6-setuidgid abc /app/radarr/bin/Radarr \
-nobrowser -data=/config