Compare commits

..

124 Commits

Author SHA1 Message Date
LinuxServer-CI
edb1a74c4d Bot Updating Package Versions 2024-03-20 19:20:53 +00:00
LinuxServer-CI
218c9a0f83 Bot Updating Templated Files 2024-03-20 19:18:23 +00:00
Adam
d4551a6671
Merge pull request #35 from linuxserver/develop-3.19
Rebase to 3.19 (develop)
2024-03-20 19:16:50 +00:00
TheSpad
20ccd60b4b
Rebase to 3.19 2024-03-20 18:16:46 +00:00
LinuxServer-CI
9581bbc0f6 Bot Updating Package Versions 2024-03-17 04:04:23 +00:00
LinuxServer-CI
b3d979e179 Bot Updating Templated Files 2024-03-14 04:20:12 +00:00
LinuxServer-CI
889d28ba7e Bot Updating Templated Files 2024-03-10 21:25:24 +00:00
aptalca
72dc3e414a
Merge pull request #32 from linuxserver/develop-ci
develop: fix ci screenshot
2024-03-10 17:23:53 -04:00
aptalca
581f4f86c6
fix ci screenshot 2024-03-10 17:11:35 -04:00
LinuxServer-CI
5a10f7e9a0 Bot Updating Package Versions 2024-03-10 05:04:01 +00:00
LinuxServer-CI
137dc95863 Bot Updating Package Versions 2024-03-07 04:18:36 +00:00
LinuxServer-CI
064a006a50 Bot Updating Templated Files 2024-02-22 04:19:39 +00:00
LinuxServer-CI
37ef4e0899 Bot Updating Templated Files 2024-02-22 04:17:59 +00:00
LinuxServer-CI
f21dd3bf00 Bot Updating Package Versions 2024-02-15 04:20:04 +00:00
LinuxServer-CI
0047599741 Bot Updating Package Versions 2024-02-08 04:20:56 +00:00
LinuxServer-CI
49db1ff0d4 Bot Updating Package Versions 2024-02-04 10:36:10 +00:00
LinuxServer-CI
61638da016 Bot Updating Package Versions 2024-01-28 06:45:12 +00:00
LinuxServer-CI
a821616d27 Bot Updating Package Versions 2024-01-28 05:05:06 +00:00
LinuxServer-CI
8b0a4a5b67 Bot Updating Package Versions 2024-01-21 05:36:18 +00:00
LinuxServer-CI
bc66bce366 Bot Updating Package Versions 2024-01-18 04:20:32 +00:00
LinuxServer-CI
059e7d145f Bot Updating Templated Files 2024-01-11 04:22:56 +00:00
LinuxServer-CI
1ab6744390 Bot Updating Templated Files 2024-01-11 04:20:05 +00:00
LinuxServer-CI
1891380657 Bot Updating Package Versions 2024-01-07 09:00:50 +00:00
LinuxServer-CI
6ffff3ebed Bot Updating Package Versions 2023-12-31 08:53:27 +00:00
LinuxServer-CI
a73886a263 Bot Updating Package Versions 2023-12-24 06:37:33 +00:00
LinuxServer-CI
576b4a0e8c Bot Updating Package Versions 2023-12-17 13:41:34 +00:00
LinuxServer-CI
d08efe489c Bot Updating Package Versions 2023-12-10 11:26:27 +00:00
LinuxServer-CI
aa2904a0c4 Bot Updating Package Versions 2023-12-07 04:21:50 +00:00
LinuxServer-CI
3a21ebf538 Bot Updating Package Versions 2023-11-23 04:21:06 +00:00
LinuxServer-CI
15628a75fc Bot Updating Package Versions 2023-11-16 04:23:54 +00:00
LinuxServer-CI
bfac84727c Bot Updating Templated Files 2023-11-16 04:20:21 +00:00
LinuxServer-CI
31bb9cbcfe Bot Updating Package Versions 2023-11-09 04:20:29 +00:00
LinuxServer-CI
8ca687d663 Bot Updating Package Versions 2023-11-05 09:19:32 +00:00
LinuxServer-CI
65e67c56e2 Bot Updating Package Versions 2023-11-05 04:05:06 +00:00
LinuxServer-CI
8728805c06 Bot Updating Package Versions 2023-11-02 04:19:14 +00:00
LinuxServer-CI
337d25685c Bot Updating Package Versions 2023-10-26 04:19:10 +00:00
LinuxServer-CI
4b2a285b4f Bot Updating Package Versions 2023-10-22 04:05:05 +00:00
LinuxServer-CI
9253e6c6b8 Bot Updating Package Versions 2023-10-15 04:03:47 +00:00
LinuxServer-CI
2d49efb66b Bot Updating Package Versions 2023-10-12 04:23:25 +00:00
LinuxServer-CI
00ce5f1f9c Bot Updating Templated Files 2023-10-12 04:21:14 +00:00
LinuxServer-CI
4ecaa1a2b2 Bot Updating Templated Files 2023-10-12 04:18:37 +00:00
LinuxServer-CI
397f7fa9b3 Bot Updating Package Versions 2023-10-05 04:19:33 +00:00
LinuxServer-CI
de8b037261 Bot Updating Package Versions 2023-09-24 13:21:07 +00:00
LinuxServer-CI
2b75d45588 Bot Updating Package Versions 2023-09-21 04:18:52 +00:00
LinuxServer-CI
5dc308ce88 Bot Updating Package Versions 2023-09-17 09:02:02 +00:00
LinuxServer-CI
8e6576a110 Bot Updating Package Versions 2023-09-10 14:17:15 +00:00
LinuxServer-CI
2426b0f993 Bot Updating Package Versions 2023-09-07 04:21:02 +00:00
LinuxServer-CI
ff69f8e32c Bot Updating Package Versions 2023-08-20 09:28:35 +00:00
LinuxServer-CI
ae7e93cab8 Bot Updating Package Versions 2023-08-17 04:19:37 +00:00
LinuxServer-CI
813e0c6302 Bot Updating Package Versions 2023-08-06 17:23:31 +00:00
LinuxServer-CI
20f3a7936d Bot Updating Package Versions 2023-08-03 04:18:36 +00:00
LinuxServer-CI
b50a262205 Bot Updating Package Versions 2023-07-30 06:12:46 +00:00
LinuxServer-CI
77a0128ea8 Bot Updating Package Versions 2023-07-23 06:40:13 +00:00
LinuxServer-CI
f5b4cf3a3d Bot Updating Package Versions 2023-07-20 04:20:42 +00:00
LinuxServer-CI
55c1b3b32c Bot Updating Package Versions 2023-07-16 05:20:43 +00:00
LinuxServer-CI
e2716e41fa Bot Updating Package Versions 2023-07-13 04:21:24 +00:00
LinuxServer-CI
aa13d5ebf5 Bot Updating Package Versions 2023-07-09 04:04:53 +00:00
LinuxServer-CI
35f49d43af Bot Updating Package Versions 2023-07-02 04:05:04 +00:00
LinuxServer-CI
d7e0e71411 Bot Updating Templated Files 2023-07-02 04:02:49 +00:00
LinuxServer-CI
fe52ea7d84 Bot Updating Package Versions 2023-06-18 04:20:23 +00:00
LinuxServer-CI
f814419853 Bot Updating Package Versions 2023-06-15 04:22:29 +00:00
LinuxServer-CI
011e910fba Bot Updating Package Versions 2023-06-14 08:03:57 +00:00
Adam
9eafae6ce7
Merge pull request #29 from linuxserver/develop-3.18 2023-06-14 09:01:40 +01:00
TheSpad
c29c103149
Rebase to 3.18 (develop) 2023-06-06 15:22:12 +01:00
LinuxServer-CI
e4845998f2 Bot Updating Package Versions 2023-06-04 22:02:27 +00:00
LinuxServer-CI
49076e9377 Bot Updating Package Versions 2023-05-28 14:30:13 +00:00
LinuxServer-CI
928f738cb3 Bot Updating Templated Files 2023-05-25 04:20:15 +00:00
LinuxServer-CI
5650574d02 Bot Updating Package Versions 2023-05-21 07:16:46 +00:00
LinuxServer-CI
0ca2d06b31 Bot Updating Package Versions 2023-05-11 04:19:20 +00:00
LinuxServer-CI
6665d266fd Bot Updating Package Versions 2023-04-26 23:22:31 -05:00
LinuxServer-CI
dd4d92c7fd Bot Updating Templated Files 2023-04-27 04:19:48 +00:00
LinuxServer-CI
1c54e333c3 Bot Updating Templated Files 2023-04-27 04:18:41 +00:00
LinuxServer-CI
dfc1d14384 Bot Updating Package Versions 2023-04-19 23:20:31 -05:00
LinuxServer-CI
1ab6df8823 Bot Updating Package Versions 2023-04-06 06:25:21 +02:00
LinuxServer-CI
7e8f9fbf4d Bot Updating Templated Files 2023-04-06 06:22:42 +02:00
LinuxServer-CI
ff63e92290 Bot Updating Templated Files 2023-04-06 06:21:08 +02:00
LinuxServer-CI
b337c17062 Bot Updating Templated Files 2023-04-06 06:19:30 +02:00
LinuxServer-CI
83972da4c1 Bot Updating Package Versions 2023-03-30 06:20:39 +02:00
LinuxServer-CI
2eaa78bd88 Bot Updating Package Versions 2023-03-22 23:20:42 -05:00
LinuxServer-CI
010fa74a31 Bot Updating Package Versions 2023-03-01 22:24:48 -06:00
LinuxServer-CI
13876243ee Bot Updating Templated Files 2023-03-01 22:22:25 -06:00
Adam
eab15431bd
Merge pull request #26 from linuxserver/develop-ping 2023-02-24 12:08:07 +00:00
TheSpad
23ee302492
Use /ping endpoint for readiness checks 2023-02-24 11:23:15 +00:00
LinuxServer-CI
1a2fc5bcf6 Bot Updating Package Versions 2023-02-23 05:22:51 +01:00
LinuxServer-CI
e95e37c8ae Bot Updating Package Versions 2023-02-16 05:22:15 +01:00
LinuxServer-CI
7a5996fe1d Bot Updating Templated Files 2023-02-12 21:33:50 -06:00
LinuxServer-CI
d148dfafd7 Bot Updating Templated Files 2023-02-12 21:32:30 -06:00
LinuxServer-CI
dbede1546a Bot Updating Package Versions 2023-01-19 05:22:48 +01:00
LinuxServer-CI
4710fb5ce6 Bot Updating Package Versions 2023-01-11 22:21:30 -06:00
LinuxServer-CI
2610252e1c Bot Updating Package Versions 2022-12-29 05:21:18 +01:00
LinuxServer-CI
f72364d627 Bot Updating Package Versions 2022-12-21 22:21:06 -06:00
LinuxServer-CI
0f7383b7aa Bot Updating Package Versions 2022-12-19 18:14:28 +00:00
Adam
6d781cec7f
Merge pull request #24 from linuxserver/develop-3.17 2022-12-19 18:12:31 +00:00
TheSpad
b8bc03bc34
Add shellcheck statements 2022-12-19 17:30:23 +00:00
TheSpad
ec9fcc6202
Rebase develop to 3.17, migrate to s6v3 2022-12-19 17:24:11 +00:00
LinuxServer-CI
c6365f05b8 Bot Updating Templated Files 2022-11-30 22:26:03 -06:00
LinuxServer-CI
51ae9b343d Bot Updating Templated Files 2022-12-01 05:24:42 +01:00
LinuxServer-CI
dabe36b047 Bot Updating Templated Files 2022-12-01 05:23:24 +01:00
LinuxServer-CI
1b6aaef959 Bot Updating Templated Files 2022-11-10 17:49:42 +01:00
LinuxServer-CI
f38b46925e Bot Updating Package Versions 2022-11-09 22:43:02 -06:00
LinuxServer-CI
d4863b38fe Bot Updating Package Versions 2022-11-03 05:41:51 +01:00
LinuxServer-CI
af6131a5f0 Bot Updating Package Versions 2022-10-27 06:51:35 +02:00
LinuxServer-CI
3f0c43aae5 Bot Updating Templated Files 2022-09-22 00:25:36 -05:00
LinuxServer-CI
b026b5dd09 Bot Updating Package Versions 2022-09-01 07:17:08 +02:00
LinuxServer-CI
7f03b93db6 Bot Updating Package Versions 2022-08-25 07:22:44 +02:00
LinuxServer-CI
474cbc3c5e Bot Updating Package Versions 2022-08-11 06:29:30 +02:00
LinuxServer-CI
40ecfc11fb Bot Updating Package Versions 2022-08-03 23:48:03 -05:00
LinuxServer-CI
de1f5611dd Bot Updating Package Versions 2022-07-20 23:47:08 -05:00
LinuxServer-CI
33429a2882 Bot Updating Package Versions 2022-07-06 23:50:42 -05:00
LinuxServer-CI
4337c95459 Bot Updating Package Versions 2022-05-12 06:33:53 +02:00
LinuxServer-CI
57b4b5ca92 Bot Updating Package Versions 2022-05-05 06:41:02 +02:00
LinuxServer-CI
75d4303e3e Bot Updating Templated Files 2022-05-05 06:38:27 +02:00
LinuxServer-CI
d31075e114 Bot Updating Templated Files 2022-05-04 23:37:18 -05:00
LinuxServer-CI
6c71af92d8 Bot Updating Package Versions 2022-04-28 07:06:11 +02:00
LinuxServer-CI
0f9d4439d0 Bot Updating Package Versions 2022-04-13 23:23:48 -05:00
LinuxServer-CI
5a6694e6e2 Bot Updating Package Versions 2022-04-06 23:24:47 -05:00
LinuxServer-CI
372ab050bf Bot Updating Package Versions 2022-03-31 06:24:54 +02:00
LinuxServer-CI
b4514c8c65 Bot Updating Package Versions 2022-03-24 05:25:18 +01:00
LinuxServer-CI
f88bbeed8c Bot Updating Package Versions 2022-03-16 23:24:48 -05:00
LinuxServer-CI
fc0e3becba Bot Updating Package Versions 2022-02-24 05:23:45 +01:00
LinuxServer-CI
0ed37e3682 Bot Updating Package Versions 2022-02-21 15:50:12 +01:00
LinuxServer-CI
e700da5305 Bot Updating Templated Files 2022-02-21 15:47:34 +01:00
aptalca
357e706939
Merge pull request #16 from linuxserver/develop-initial
Initial develop branch commit
2022-02-21 09:46:23 -05:00
TheSpad
0a854d5a95 Initial develop branch commit 2022-02-21 14:16:38 +00:00
35 changed files with 2044 additions and 62 deletions

View File

@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

View File

@ -6,7 +6,7 @@
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* 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://linuxserver.io/discord)
* 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
@ -105,10 +105,10 @@ docker build \
-t linuxserver/readarr:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.

View File

@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum

74
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal file → Executable file
View File

@ -4,11 +4,73 @@ description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: markdown
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Due to lack of developers, and issues with maintaining status quo, upstream has decided to retire the project.
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs readarr"
label: Container logs
placeholder: |
Output of `docker logs readarr`
render: bash
validations:
required: true

31
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Normal file → Executable file
View File

@ -4,11 +4,28 @@ description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: markdown
- type: checkboxes
attributes:
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Due to lack of developers, and issues with maintaining status quo, upstream has decided to retire the project.
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

View File

@ -1,9 +1,3 @@
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Due to lack of developers, and issues with maintaining status quo, upstream has decided to retire the project.
<!--- Provide a general summary of your changes in the Title above -->
[linuxserverurl]: https://linuxserver.io

16
.github/workflows/call_issue_pr_tracker.yml vendored Executable file
View File

@ -0,0 +1,16 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

13
.github/workflows/call_issues_cron.yml vendored Executable file
View File

@ -0,0 +1,13 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '44 1 * * *'
workflow_dispatch:
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

104
.github/workflows/external_trigger.yml vendored Normal file
View File

@ -0,0 +1,104 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-develop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/develop'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_READARR_DEVELOP }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_READARR_DEVELOP is set; skipping trigger. ****"
echo "Github secret \`PAUSE_EXTERNAL_TRIGGER_READARR_DEVELOP\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "**** External trigger running off of develop branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_READARR_DEVELOP\". ****"
echo "External trigger running off of develop branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_READARR_DEVELOP\`" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sL https://readarr.servarr.com/v1/update/develop/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for readarr branch develop"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-readarr/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 "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving last pushed version ****"
image="linuxserver/readarr"
tag="develop"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Freadarr%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}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
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 readarr tag develop"
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} ****"
echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/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 ****"
echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/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 "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
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 readarr tag develop. 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

View File

@ -0,0 +1,45 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '40 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
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_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-readarr/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-readarr/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
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-readarr/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi
done

View File

@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'This image is deprecated. We will not offer support for this image and it will not be updated. The [README](https://github.com/linuxserver/docker-readarr/blob/develop/README.md) may have additional information. Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'This image is deprecated. We will not offer support for this image and it will not be updated. The [README](https://github.com/linuxserver/docker-readarr/blob/develop/README.md) may have additional information. Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-readarr/blob/develop/.github/PULL_REQUEST_TEMPLATE.md)!'
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-readarr/blob/develop/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

42
.github/workflows/package_trigger.yml vendored Normal file
View File

@ -0,0 +1,42 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-develop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: Package Trigger
if: github.ref == 'refs/heads/develop'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_READARR_DEVELOP }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_READARR_DEVELOP is set; skipping trigger. ****"
echo "Github secret \`PAUSE_PACKAGE_TRIGGER_READARR_DEVELOP\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "**** Package trigger running off of develop branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_READARR_DEVELOP\". ****"
echo "Package trigger running off of develop branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_READARR_DEVELOP\`" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/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 "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
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"

View File

@ -0,0 +1,50 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '47 15 * * 6'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
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-readarr/${br}/jenkins-vars.yml | 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-readarr/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
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-readarr/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
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 readarr** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-readarr/activity/"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

10
.github/workflows/permissions.yml vendored Executable file
View File

@ -0,0 +1,10 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.jenkins-external

46
Dockerfile Normal file
View File

@ -0,0 +1,46 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:3.19
# set version label
ARG BUILD_DATE
ARG VERSION
ARG READARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Roxedus,thespad"
# environment settings
ARG READARR_BRANCH="develop"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apk add -U --upgrade --no-cache \
icu-libs \
sqlite-libs \
xmlstarlet && \
echo "**** install readarr ****" && \
mkdir -p /app/readarr/bin && \
if [ -z ${READARR_RELEASE+x} ]; then \
READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/readarr.tar.gz -L \
"https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=x64" && \
tar xzf \
/tmp/readarr.tar.gz -C \
/app/readarr/bin --strip-components=1 && \
echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)" > /app/readarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/readarr/bin/Readarr.Update \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 8787
VOLUME /config

46
Dockerfile.aarch64 Normal file
View File

@ -0,0 +1,46 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19
# set version label
ARG BUILD_DATE
ARG VERSION
ARG READARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Roxedus,thespad"
# environment settings
ARG READARR_BRANCH="develop"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apk add -U --upgrade --no-cache \
icu-libs \
sqlite-libs \
xmlstarlet && \
echo "**** install readarr ****" && \
mkdir -p /app/readarr/bin && \
if [ -z ${READARR_RELEASE+x} ]; then \
READARR_RELEASE=$(curl -sL "https://readarr.servarr.com/v1/update/${READARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/readarr.tar.gz -L \
"https://readarr.servarr.com/v1/update/${READARR_BRANCH}/updatefile?version=${READARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=arm64" && \
tar xzf \
/tmp/readarr.tar.gz -C \
/app/readarr/bin --strip-components=1 && \
echo -e "UpdateMethod=docker\nBranch=${READARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://www.linuxserver.io/)" > /app/readarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/readarr/bin/Readarr.Update \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 8787
VOLUME /config

1029
Jenkinsfile vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-readarr/blob/main/.github/CONTRIBUTING.md -->
<!-- Please read https://github.com/linuxserver/docker-readarr/blob/develop/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?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://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![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.")
@ -20,21 +20,15 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [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
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Due to lack of developers, and issues with maintaining status quo, upstream has decided to retire the project.
# [linuxserver/readarr](https://github.com/linuxserver/docker-readarr)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Freadarr?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Freadarr?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Freadarr)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-readarr)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github&include_prereleases)](https://github.com/linuxserver/docker-readarr/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-readarr/packages)
@ -43,6 +37,7 @@ Due to lack of developers, and issues with maintaining status quo, upstream has
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/readarr)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/readarr)
[![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-readarr%2Fjob%2Fdevelop%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/)
[![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%2Freadarr%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/readarr/latest/index.html)
[Readarr](https://github.com/Readarr/Readarr) - Book Manager and Automation (Sonarr for Ebooks)
@ -78,28 +73,16 @@ Access the webui at `<your-ip>:8787`, for more information check out [Readarr](h
### Media folders
We have set `/books` and `/downloads` as optional paths, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
We have set `/books` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
>[!TIP]
>The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
## Read-Only Operation
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
## Non-Root Operation
This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
## Usage
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
>[!NOTE]
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
@ -143,15 +126,13 @@ Containers are configured using parameters passed at runtime (such as those abov
| Parameter | Function |
| :----: | --- |
| `-p 8787:8787` | The port for the Readarr web UI |
| `-p 8787` | The port for the Readarr web UI |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-v /config` | Database and Readarr configs |
| `-v /books` | Location of Book library on disk (See note in Application setup) |
| `-v /downloads` | Location of download managers output directory (See note in Application setup) |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
## Environment variables from files (Docker secrets)
@ -217,7 +198,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/readarr
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/readarr:develop
```
## Updating Info
@ -265,7 +246,7 @@ Below are the instructions for updating containers:
* Update the image:
```bash
docker pull lscr.io/linuxserver/readarr
docker pull lscr.io/linuxserver/readarr:develop
```
* Stop the running container:
@ -289,8 +270,7 @@ Below are the instructions for updating containers:
### Image Update Notifications - Diun (Docker Image Update Notifier)
>[!TIP]
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
@ -305,19 +285,16 @@ docker build \
-t lscr.io/linuxserver/readarr:develop .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions
* **27.06.25:** - Deprecate image.
* **20.12.24:** - Rebase to Alpine 3.21.
* **25.05.24:** - Rebase to Alpine 3.20.
* **20.03.24:** - Rebase to Alpine 3.19.
* **06.06.23:** - Rebase develop to Alpine 3.18.
* **19.12.22:** - Rebase develop branch to Alpine 3.17, migrate to s6v3.

29
jenkins-vars.yml Normal file
View File

@ -0,0 +1,29 @@
---
# jenkins variables
project_name: docker-readarr
external_type: na
custom_version_command: curl -sL https://readarr.servarr.com/v1/update/develop/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version'
release_type: prerelease
release_tag: develop
ls_branch: develop
build_armhf: false
repo_vars:
- BUILD_VERSION_ARG = 'READARR_RELEASE'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-readarr'
- CONTAINER_NAME = 'readarr'
- DOCKERHUB_IMAGE = 'linuxserver/readarr'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/readarr'
- PR_DOCKERHUB_IMAGE = 'lspipepr/readarr'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='8787'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH=''
- CI_WEBPATH='/system/status'
sponsor_links:
- { name: "Readarr", url: "https://opencollective.com/readarr" }

412
package_versions.txt Normal file
View File

@ -0,0 +1,412 @@
NAME VERSION TYPE
Bouncy Castle for .NET (netstandard2.0) 1.9.0.1 dotnet
Dapper 2.0.123.33578 dotnet
DryIoc 5.4.3.0 dotnet
DryIoc.Microsoft.DependencyInjection net6.0 6.2.0.0 dotnet
Dynamitey 2.0.9.136 dotnet
Equ 2.3.0 dotnet
FluentMigrator 3.3.2.9 dotnet (+19 duplicates)
FluentValidation 9.5.4.0 dotnet
ICSharpCode.SharpZipLib 1.4.2.13 dotnet
Ical.Net 1.0.0.0 dotnet
ImpromptuInterface 7.0.1.0 dotnet
Json.NET 13.0.3.27908 dotnet
LazyCache 2.4.0.174 dotnet
MailKit 3.6.0.0 dotnet
Microsoft.AspNetCore 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Antiforgery 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authentication 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authentication.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authentication.Cookies 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authentication.Core 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authentication.OAuth 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authorization 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Authorization.Policy 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Components 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Components.Authorization 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Components.Forms 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Components.Server 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Components.Web 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Connections.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.CookiePolicy 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Cors 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Cryptography.Internal 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Cryptography.KeyDerivation 6.0.2523.52315 dotnet
Microsoft.AspNetCore.DataProtection 6.0.2523.52315 dotnet
Microsoft.AspNetCore.DataProtection.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.DataProtection.Extensions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Diagnostics 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Diagnostics.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Diagnostics.HealthChecks 6.0.2523.52315 dotnet
Microsoft.AspNetCore.HostFiltering 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Hosting 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Hosting.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Hosting.Server.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Html.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Connections 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Connections.Common 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Extensions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Features 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Http.Results 6.0.2523.52315 dotnet
Microsoft.AspNetCore.HttpLogging 6.0.2523.52315 dotnet
Microsoft.AspNetCore.HttpOverrides 6.0.2523.52315 dotnet
Microsoft.AspNetCore.HttpsPolicy 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Identity 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Localization 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Localization.Routing 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Metadata 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.ApiExplorer 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Core 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Cors 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.DataAnnotations 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Formatters.Json 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Formatters.Xml 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Localization 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.Razor 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.RazorPages 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.TagHelpers 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Mvc.ViewFeatures 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Razor 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Razor.Runtime 6.0.2523.52315 dotnet
Microsoft.AspNetCore.ResponseCaching 6.0.2523.52315 dotnet
Microsoft.AspNetCore.ResponseCaching.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.ResponseCompression 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Rewrite 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Routing 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Routing.Abstractions 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.HttpSys 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.IIS 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.IISIntegration 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.Kestrel 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.Kestrel.Core 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets 6.0.2523.52315 dotnet
Microsoft.AspNetCore.Session 6.0.2523.52315 dotnet
Microsoft.AspNetCore.SignalR 6.0.2523.52315 dotnet
Microsoft.AspNetCore.SignalR.Common 6.0.2523.52315 dotnet
Microsoft.AspNetCore.SignalR.Core 6.0.2523.52315 dotnet
Microsoft.AspNetCore.SignalR.Protocols.Json 6.0.2523.52315 dotnet
Microsoft.AspNetCore.StaticFiles 6.0.2523.52315 dotnet
Microsoft.AspNetCore.WebSockets 6.0.2523.52315 dotnet
Microsoft.AspNetCore.WebUtilities 6.0.2523.52315 dotnet
Microsoft.Bcl.AsyncInterfaces 6.0.21.52210 dotnet
Microsoft.Bcl.TimeProvider 8.0.23.53103 dotnet
Microsoft.CSharp 6.0.2523.51912 dotnet
Microsoft.Data.SqlClient 2.1.2+2a61e8301e9d21ada2338a9279cf27653e781757 dotnet
Microsoft.Extensions.Caching.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Caching.Memory 6.0.222.6406 dotnet
Microsoft.Extensions.Configuration 6.0.322.12309 dotnet
Microsoft.Extensions.Configuration.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Binder 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.CommandLine 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.222.6406 dotnet
Microsoft.Extensions.Configuration.FileExtensions 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Ini 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Json 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.KeyPerFile 6.0.2523.52315 dotnet
Microsoft.Extensions.Configuration.UserSecrets 6.0.222.6406 dotnet
Microsoft.Extensions.Configuration.Xml 6.0.21.52210 dotnet
Microsoft.Extensions.DependencyInjection 6.0.1022.47605 dotnet
Microsoft.Extensions.DependencyInjection.Abstractions 7.0.22.51805 dotnet
Microsoft.Extensions.Diagnostics.HealthChecks 6.0.2523.52315 dotnet
Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.2523.52315 dotnet
Microsoft.Extensions.Features 6.0.2523.52315 dotnet
Microsoft.Extensions.FileProviders.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.FileProviders.Composite 6.0.21.52210 dotnet
Microsoft.Extensions.FileProviders.Embedded 6.0.2523.52315 dotnet
Microsoft.Extensions.FileProviders.Physical 6.0.21.52210 dotnet
Microsoft.Extensions.FileSystemGlobbing 6.0.21.52210 dotnet
Microsoft.Extensions.Hosting 6.0.222.6406 dotnet
Microsoft.Extensions.Hosting.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Hosting.WindowsServices 6.0.1823.26907 dotnet
Microsoft.Extensions.Http 6.0.21.52210 dotnet
Microsoft.Extensions.Identity.Core 6.0.2523.52315 dotnet
Microsoft.Extensions.Identity.Stores 6.0.2523.52315 dotnet
Microsoft.Extensions.Localization 6.0.2523.52315 dotnet
Microsoft.Extensions.Localization.Abstractions 6.0.2523.52315 dotnet
Microsoft.Extensions.Logging 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Abstractions 6.0.1823.26907 dotnet
Microsoft.Extensions.Logging.Configuration 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Console 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Debug 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.EventLog 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.EventSource 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.TraceSource 6.0.21.52210 dotnet
Microsoft.Extensions.ObjectPool 6.0.2523.52315 dotnet
Microsoft.Extensions.Options 6.0.21.52210 dotnet
Microsoft.Extensions.Options.ConfigurationExtensions 6.0.21.52210 dotnet
Microsoft.Extensions.Options.DataAnnotations 6.0.21.52210 dotnet
Microsoft.Extensions.Primitives 6.0.21.52210 dotnet
Microsoft.Extensions.WebEncoders 6.0.2523.52315 dotnet
Microsoft.Identity.Client 4.21.1.0 dotnet
Microsoft.IdentityModel.JsonWebTokens 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Logging 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Protocols 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Tokens 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.JSInterop 6.0.2523.52315 dotnet
Microsoft.Net.Http.Headers 6.0.2523.52315 dotnet
Microsoft.OpenApi 1.2.3.0 dotnet
Microsoft.VisualBasic 6.0.2523.51912 dotnet
Microsoft.VisualBasic.Core 11.100.2523.51912 dotnet
Microsoft.Win32.Primitives 6.0.2523.51912 dotnet
Microsoft.Win32.Registry 6.0.2523.51912 dotnet
Microsoft.Win32.SystemEvents 6.0.21.52210 dotnet
MimeKit 3.6.0.0 dotnet
Mono.Nat 3.0.1 dotnet
Mono.Posix.NETStandard 1.0.0.0 dotnet
MonoTorrent 2.0.7 dotnet
NLog v5.1.4 5.1.4.1703 dotnet
NLog.Extensions.Logging v5.2.3 5.2.3.325 dotnet
NLog.Targets.Syslog 7.0.0.0 dotnet
NodaTime 3.0.0.0 dotnet
Npgsql 7.0.6.0 dotnet
PdfSharpCore 1.3.32 dotnet (+1 duplicate)
Polly 8.2.0.2702 dotnet
Polly.Contrib.WaitAndRetry 1.1.1.0+7596d2dacf22d88bbd814bc49c28424fb6e921e9 dotnet
Polly.Core 8.2.0.2702 dotnet
Readarr 0.3.20.2452 dotnet (+7 duplicates)
RestSharp 106.15.0+ca15b2599d9e85efd9ac43c7112188b9b0cc67a0 dotnet
ReusableTasks 2.0.0 dotnet
Sentry 3.31.0.0 dotnet
SixLabors.Fonts 1.0.0.0 dotnet
SixLabors.ImageSharp 3.0.2.0 dotnet
Swashbuckle.AspNetCore.Swagger 6.5.0.0 dotnet
Swashbuckle.AspNetCore.SwaggerGen 6.5.0.0 dotnet
System 6.0.2523.51912 dotnet
System.AppContext 6.0.2523.51912 dotnet
System.Buffers 6.0.2523.51912 dotnet
System.Collections 6.0.2523.51912 dotnet
System.Collections.Concurrent 6.0.2523.51912 dotnet
System.Collections.Immutable 6.0.2523.51912 dotnet
System.Collections.NonGeneric 6.0.2523.51912 dotnet
System.Collections.Specialized 6.0.2523.51912 dotnet
System.ComponentModel 6.0.2523.51912 dotnet
System.ComponentModel.Annotations 6.0.2523.51912 dotnet
System.ComponentModel.DataAnnotations 6.0.2523.51912 dotnet
System.ComponentModel.EventBasedAsync 6.0.2523.51912 dotnet
System.ComponentModel.Primitives 6.0.2523.51912 dotnet
System.ComponentModel.TypeConverter 6.0.2523.51912 dotnet
System.Configuration 6.0.2523.51912 dotnet
System.Configuration.ConfigurationManager 6.0.922.41905 dotnet
System.Console 6.0.2523.51912 dotnet
System.Core 6.0.2523.51912 dotnet
System.Data 6.0.2523.51912 dotnet
System.Data.Common 6.0.2523.51912 dotnet
System.Data.DataSetExtensions 6.0.2523.51912 dotnet
System.Data.SQLite 1.0.115.5 dotnet
System.Data.SqlServerCe 4.0.8876.1 dotnet
System.Diagnostics.Contracts 6.0.2523.51912 dotnet
System.Diagnostics.Debug 6.0.2523.51912 dotnet
System.Diagnostics.DiagnosticSource 6.0.2523.51912 dotnet
System.Diagnostics.EventLog 6.0.21.52210 dotnet
System.Diagnostics.FileVersionInfo 6.0.2523.51912 dotnet
System.Diagnostics.Process 6.0.2523.51912 dotnet
System.Diagnostics.StackTrace 6.0.2523.51912 dotnet
System.Diagnostics.TextWriterTraceListener 6.0.2523.51912 dotnet
System.Diagnostics.Tools 6.0.2523.51912 dotnet
System.Diagnostics.TraceSource 6.0.2523.51912 dotnet
System.Diagnostics.Tracing 6.0.2523.51912 dotnet
System.Drawing 6.0.2523.51912 dotnet
System.Drawing.Common 6.0.21.52210 dotnet
System.Drawing.Primitives 6.0.2523.51912 dotnet
System.Dynamic.Runtime 6.0.2523.51912 dotnet
System.Formats.Asn1 6.0.2523.51912 dotnet
System.Globalization 6.0.2523.51912 dotnet
System.Globalization.Calendars 6.0.2523.51912 dotnet
System.Globalization.Extensions 6.0.2523.51912 dotnet
System.IO 6.0.2523.51912 dotnet
System.IO.Abstractions 17.0.24.38649 dotnet
System.IO.Compression 6.0.2523.51912 dotnet
System.IO.Compression.Brotli 6.0.2523.51912 dotnet
System.IO.Compression.FileSystem 6.0.2523.51912 dotnet
System.IO.Compression.ZipFile 6.0.2523.51912 dotnet
System.IO.FileSystem 6.0.2523.51912 dotnet
System.IO.FileSystem.AccessControl 6.0.2523.51912 dotnet
System.IO.FileSystem.DriveInfo 6.0.2523.51912 dotnet
System.IO.FileSystem.Primitives 6.0.2523.51912 dotnet
System.IO.FileSystem.Watcher 6.0.2523.51912 dotnet
System.IO.IsolatedStorage 6.0.2523.51912 dotnet
System.IO.MemoryMappedFiles 6.0.2523.51912 dotnet
System.IO.Pipelines 6.0.522.21309 dotnet
System.IO.Pipes 6.0.2523.51912 dotnet
System.IO.Pipes.AccessControl 6.0.2523.51912 dotnet
System.IO.UnmanagedMemoryStream 6.0.2523.51912 dotnet
System.IdentityModel.Tokens.Jwt 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
System.Linq 6.0.2523.51912 dotnet
System.Linq.Expressions 6.0.2523.51912 dotnet
System.Linq.Parallel 6.0.2523.51912 dotnet
System.Linq.Queryable 6.0.2523.51912 dotnet
System.Memory 6.0.2523.51912 dotnet
System.Net 6.0.2523.51912 dotnet
System.Net.Http 6.0.2523.51912 dotnet
System.Net.Http.Json 6.0.2523.51912 dotnet
System.Net.HttpListener 6.0.2523.51912 dotnet
System.Net.Mail 6.0.2523.51912 dotnet
System.Net.NameResolution 6.0.2523.51912 dotnet
System.Net.NetworkInformation 6.0.2523.51912 dotnet
System.Net.Ping 6.0.2523.51912 dotnet
System.Net.Primitives 6.0.2523.51912 dotnet
System.Net.Quic 6.0.2523.51912 dotnet
System.Net.Requests 6.0.2523.51912 dotnet
System.Net.Security 6.0.2523.51912 dotnet
System.Net.ServicePoint 6.0.2523.51912 dotnet
System.Net.Sockets 6.0.2523.51912 dotnet
System.Net.WebClient 6.0.2523.51912 dotnet
System.Net.WebHeaderCollection 6.0.2523.51912 dotnet
System.Net.WebProxy 6.0.2523.51912 dotnet
System.Net.WebSockets 6.0.2523.51912 dotnet
System.Net.WebSockets.Client 6.0.2523.51912 dotnet
System.Numerics 6.0.2523.51912 dotnet
System.Numerics.Vectors 6.0.2523.51912 dotnet
System.ObjectModel 6.0.2523.51912 dotnet
System.Private.CoreLib 6.0.2523.51912 dotnet
System.Private.DataContractSerialization 6.0.2523.51912 dotnet
System.Private.Uri 6.0.2523.51912 dotnet
System.Private.Xml 6.0.2523.51912 dotnet
System.Private.Xml.Linq 6.0.2523.51912 dotnet
System.Reflection 6.0.2523.51912 dotnet
System.Reflection.DispatchProxy 6.0.2523.51912 dotnet
System.Reflection.Emit 6.0.2523.51912 dotnet
System.Reflection.Emit.ILGeneration 6.0.2523.51912 dotnet
System.Reflection.Emit.Lightweight 6.0.2523.51912 dotnet
System.Reflection.Extensions 6.0.2523.51912 dotnet
System.Reflection.Metadata 6.0.2523.51912 dotnet
System.Reflection.Primitives 6.0.2523.51912 dotnet
System.Reflection.TypeExtensions 6.0.2523.51912 dotnet
System.Resources.Reader 6.0.2523.51912 dotnet
System.Resources.ResourceManager 6.0.2523.51912 dotnet
System.Resources.Writer 6.0.2523.51912 dotnet
System.Runtime 6.0.2523.51912 dotnet
System.Runtime.Caching 4.700.19.56404 dotnet
System.Runtime.CompilerServices.VisualC 6.0.2523.51912 dotnet
System.Runtime.Extensions 6.0.2523.51912 dotnet
System.Runtime.Handles 6.0.2523.51912 dotnet
System.Runtime.InteropServices 6.0.2523.51912 dotnet
System.Runtime.InteropServices.RuntimeInformation 6.0.2523.51912 dotnet
System.Runtime.Intrinsics 6.0.2523.51912 dotnet
System.Runtime.Loader 6.0.2523.51912 dotnet
System.Runtime.Numerics 6.0.2523.51912 dotnet
System.Runtime.Serialization 6.0.2523.51912 dotnet
System.Runtime.Serialization.Formatters 6.0.2523.51912 dotnet
System.Runtime.Serialization.Json 6.0.2523.51912 dotnet
System.Runtime.Serialization.Primitives 6.0.2523.51912 dotnet
System.Runtime.Serialization.Xml 6.0.2523.51912 dotnet
System.Security 6.0.2523.51912 dotnet
System.Security.AccessControl 6.0.2523.51912 dotnet
System.Security.Claims 6.0.2523.51912 dotnet
System.Security.Cryptography.Algorithms 6.0.2523.51912 dotnet
System.Security.Cryptography.Cng 6.0.2523.51912 dotnet
System.Security.Cryptography.Csp 6.0.2523.51912 dotnet
System.Security.Cryptography.Encoding 6.0.2523.51912 dotnet
System.Security.Cryptography.OpenSsl 6.0.2523.51912 dotnet
System.Security.Cryptography.Pkcs 6.0.1823.26907 dotnet
System.Security.Cryptography.Primitives 6.0.2523.51912 dotnet
System.Security.Cryptography.ProtectedData 6.0.21.52210 dotnet
System.Security.Cryptography.X509Certificates 6.0.2523.51912 dotnet
System.Security.Cryptography.Xml 6.0.822.36306 dotnet
System.Security.Permissions 6.0.21.52210 dotnet
System.Security.Principal 6.0.2523.51912 dotnet
System.Security.Principal.Windows 6.0.2523.51912 dotnet
System.Security.SecureString 6.0.2523.51912 dotnet
System.ServiceModel.Web 6.0.2523.51912 dotnet
System.ServiceProcess 6.0.2523.51912 dotnet
System.ServiceProcess.ServiceController 6.0.1823.26907 dotnet
System.Text.Encoding 6.0.2523.51912 dotnet
System.Text.Encoding.CodePages 6.0.2523.51912 dotnet
System.Text.Encoding.Extensions 6.0.2523.51912 dotnet
System.Text.Encodings.Web 6.0.2523.51912 dotnet
System.Text.Json 6.0.2523.51912 dotnet
System.Text.RegularExpressions 6.0.2523.51912 dotnet
System.Threading 6.0.2523.51912 dotnet
System.Threading.Channels 6.0.2523.51912 dotnet
System.Threading.Overlapped 6.0.2523.51912 dotnet
System.Threading.Tasks 6.0.2523.51912 dotnet
System.Threading.Tasks.Dataflow 6.0.2523.51912 dotnet
System.Threading.Tasks.Extensions 6.0.2523.51912 dotnet
System.Threading.Tasks.Parallel 6.0.2523.51912 dotnet
System.Threading.Thread 6.0.2523.51912 dotnet
System.Threading.ThreadPool 6.0.2523.51912 dotnet
System.Threading.Timer 6.0.2523.51912 dotnet
System.Transactions 6.0.2523.51912 dotnet
System.Transactions.Local 6.0.2523.51912 dotnet
System.ValueTuple 6.0.2523.51912 dotnet
System.Web 6.0.2523.51912 dotnet
System.Web.HttpUtility 6.0.2523.51912 dotnet
System.Windows 6.0.2523.51912 dotnet
System.Windows.Extensions 6.0.21.52210 dotnet
System.Xml 6.0.2523.51912 dotnet
System.Xml.Linq 6.0.2523.51912 dotnet
System.Xml.ReaderWriter 6.0.2523.51912 dotnet
System.Xml.Serialization 6.0.2523.51912 dotnet
System.Xml.XDocument 6.0.2523.51912 dotnet
System.Xml.XPath 6.0.2523.51912 dotnet
System.Xml.XPath.XDocument 6.0.2523.51912 dotnet
System.Xml.XmlDocument 6.0.2523.51912 dotnet
System.Xml.XmlSerializer 6.0.2523.51912 dotnet
TagLib# 2.2.0.19 dotnet
WindowsBase 6.0.2523.51912 dotnet
alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r2 apk
alpine-keys 2.4-r1 apk
alpine-release 3.19.1-r0 apk
apk-tools 2.14.0-r5 apk
bash 5.2.21-r0 apk
brotli-libs 1.1.0-r1 apk
busybox 1.36.1-r15 apk
busybox-binsh 1.36.1-r15 apk
c-ares 1.24.0-r1 apk
ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk
coreutils 9.4-r2 apk
coreutils-env 9.4-r2 apk
coreutils-fmt 9.4-r2 apk
coreutils-sha512sum 9.4-r2 apk
curl 8.5.0-r0 apk
icu-data-en 74.1-r0 apk
icu-libs 74.1-r0 apk
jq 1.7.1-r0 apk
libacl 2.3.1-r4 apk
libattr 2.5.1-r5 apk
libbsd 0.11.7-r3 apk
libc-utils 0.7.2-r5 apk
libcrypto3 3.1.4-r5 apk
libcurl 8.5.0-r0 apk
libgcc 13.2.1_git20231014-r0 apk
libgcrypt 1.10.3-r0 apk
libgpg-error 1.47-r2 apk
libidn2 2.3.4-r4 apk
libintl 0.22.3-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.4_p20231125-r0 apk
libproc2 4.0.4-r0 apk
libssl3 3.1.4-r5 apk
libstdc++ 13.2.1_git20231014-r0 apk
libunistring 1.1-r2 apk
libxml2 2.11.7-r0 apk
libxslt 1.1.39-r0 apk
linux-pam 1.5.3-r7 apk
mscorlib 6.0.2523.51912 dotnet
musl 1.2.4_git20230717-r4 apk
musl-utils 1.2.4_git20230717-r4 apk
ncurses-terminfo-base 6.4_p20231125-r0 apk
netcat-openbsd 1.226-r0 apk
netstandard 6.0.2523.51912 dotnet
nghttp2-libs 1.58.0-r0 apk
oniguruma 6.9.9-r0 apk
procps-ng 4.0.4-r0 apk
readline 8.2.1-r2 apk
scanelf 1.3.7-r2 apk
shadow 4.14.2-r0 apk
skalibs 2.14.0.1-r0 apk
sqlite-libs 3.44.2-r0 apk
ssl_client 1.36.1-r15 apk
tzdata 2024a-r0 apk
utmps-libs 0.1.2.2-r0 apk
xmlstarlet 1.6.1-r2 apk
xz-libs 5.4.5-r0 apk
zlib 1.3.1-r0 apk

62
readme-vars.yml Normal file
View File

@ -0,0 +1,62 @@
---
# project information
project_name: readarr
project_url: "https://github.com/Readarr/Readarr"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/readarr-logo.png"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) - Book Manager and Automation (Sonarr for Ebooks)
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest" }
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest" }
# development version
development_versions: true
development_versions_items:
- { tag: "develop", desc: "Readarr releases from their develop branch" }
- { tag: "nightly", desc: "Readarr releases from their nightly branch" }
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Database and Readarr configs", }
opt_param_usage_include_vols: true
opt_param_volumes:
- { vol_path: "/books", vol_host_path: "/path/to/books", desc: "Location of Book library on disk (See note in Application setup)", }
- { vol_path: "/downloads", vol_host_path: "/path/to/download-client-downloads", desc: "Location of download managers output directory (See note in Application setup)", }
param_usage_include_ports: true
param_ports:
- { external_port: "8787", internal_port: "8787", port_desc: "The port for the Readarr web UI", }
# optional env variables
opt_param_usage_include_env: false
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Access the webui at `<your-ip>:8787`, for more information check out [Readarr](https://github.com/Readarr/Readarr).
### Media folders
We have set `/books` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
# changelog
changelogs:
- { date: "20.03.24:", desc: "Rebase to Alpine 3.19." }
- { date: "06.06.23:", desc: "Rebase develop to Alpine 3.18." }
- { date: "19.12.22:", desc: "Rebase develop branch to Alpine 3.17, migrate to s6v3." }
- { date: "21.02.22:", desc: "Add develop branch." }
- { date: "04.02.22:", desc: "Rebase nightly branch to Alpine." }
- { date: "21.01.22:", desc: "Remove chromaprint as it's no longer a required dependency." }
- { date: "01.01.22:", desc: "Add chromaprint for audio fingerprinting." }
- { date: "30.12.21:", desc: "Add nightly-alpine branch." }
- { date: "28.07.21:", desc: "Initial Release." }

1
root/donate.txt Normal file
View File

@ -0,0 +1 @@
Readarr: https://opencollective.com/readarr

View File

@ -0,0 +1,6 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# permissions
lsiown -R abc:abc \
/config

View File

@ -0,0 +1 @@
oneshot

View File

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-readarr-config/run

View File

@ -0,0 +1,9 @@
#!/bin/bash
PORT=$(xmlstarlet sel -T -t -v /Config/Port /config/config.xml)
if [[ $(curl -sL "http://localhost:${PORT:-8787}/ping" | jq -r '.status' 2>/dev/null) = "OK" ]]; then
exit 0
else
exit 1
fi

View File

@ -0,0 +1 @@
3

View File

@ -0,0 +1,7 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/readarr/bin s6-setuidgid abc /app/readarr/bin/Readarr \
-nobrowser -data=/config

View File

@ -0,0 +1 @@
longrun