Skip to content
This repository was archived by the owner on Jul 6, 2025. It is now read-only.

Commit 779a0b5

Browse files
authored
Merge pull request #42 from linuxserver/nightly-3.21
2 parents de0cfe9 + 3998139 commit 779a0b5

File tree

7 files changed

+38
-20
lines changed

7 files changed

+38
-20
lines changed

.github/workflows/external_trigger.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,18 @@ jobs:
4343
token=$(curl -sX GET \
4444
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Freadarr%3Apull" \
4545
| jq -r '.token')
46-
multidigest=$(curl -s \
47-
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
48-
--header "Authorization: Bearer ${token}" \
49-
"https://ghcr.io/v2/${image}/manifests/${tag}" \
50-
| jq -r 'first(.manifests[].digest)')
51-
digest=$(curl -s \
52-
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
53-
--header "Authorization: Bearer ${token}" \
54-
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
55-
| jq -r '.config.digest')
46+
multidigest=$(curl -s \
47+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
48+
--header "Accept: application/vnd.oci.image.index.v1+json" \
49+
--header "Authorization: Bearer ${token}" \
50+
"https://ghcr.io/v2/${image}/manifests/${tag}")
51+
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
52+
digest=$(curl -s \
53+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
54+
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
55+
--header "Authorization: Bearer ${token}" \
56+
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
57+
| jq -r '.config.digest')
5658
image_info=$(curl -sL \
5759
--header "Authorization: Bearer ${token}" \
5860
"https://ghcr.io/v2/${image}/blobs/${digest}")

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:3.20
3+
FROM ghcr.io/linuxserver/baseimage-alpine:3.21
44

55
# set version label
66
ARG BUILD_DATE

Dockerfile.aarch64

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20
3+
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21
44

55
# set version label
66
ARG BUILD_DATE

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/d
8383

8484
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
8585

86+
## Non-Root Operation
87+
88+
This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
89+
8690
## Usage
8791

8892
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
@@ -141,6 +145,7 @@ Containers are configured using parameters passed at runtime (such as those abov
141145
| `-v /books` | Location of Book library on disk (See note in Application setup) |
142146
| `-v /downloads` | Location of download managers output directory (See note in Application setup) |
143147
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
148+
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
144149

145150
## Environment variables from files (Docker secrets)
146151

@@ -304,6 +309,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
304309

305310
## Versions
306311

312+
* **12.12.24:** - Rebase to Alpine 3.21.
307313
* **25.05.24:** - Rebase to Alpine 3.20.
308314
* **20.03.24:** - Rebase to Alpine 3.19.
309315
* **06.06.23:** - Rebase nightly to Alpine 3.18.

readme-vars.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ param_usage_include_ports: true
2828
param_ports:
2929
- {external_port: "8787", internal_port: "8787", port_desc: "The port for the Readarr web UI"}
3030
readonly_supported: true
31+
nonroot_supported: true
3132
# application setup block
3233
app_setup_block_enabled: true
3334
app_setup_block: |
@@ -85,6 +86,7 @@ init_diagram: |
8586
"readarr:nightly" <- Base Images
8687
# changelog
8788
changelogs:
89+
- {date: "12.12.24:", desc: "Rebase to Alpine 3.21."}
8890
- {date: "25.05.24:", desc: "Rebase to Alpine 3.20."}
8991
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
9092
- {date: "06.06.23:", desc: "Rebase nightly to Alpine 3.18."}

root/etc/s6-overlay/s6-rc.d/init-readarr-config/run

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
mkdir -p /run/readarr-temp
55

6-
# permissions
7-
lsiown -R abc:abc \
8-
/config \
9-
/run/readarr-temp
6+
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
7+
lsiown -R abc:abc \
8+
/config \
9+
/run/readarr-temp
10+
fi
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
#!/usr/bin/with-contenv bash
22
# shellcheck shell=bash
33

4-
exec \
5-
s6-notifyoncheck -d -n 300 -w 1000 \
6-
cd /app/readarr/bin s6-setuidgid abc /app/readarr/bin/Readarr \
7-
-nobrowser -data=/config
4+
if [[ -n ${LSIO_NON_ROOT_USER} ]]; then
5+
exec \
6+
s6-notifyoncheck -d -n 300 -w 1000 \
7+
cd /app/readarr/bin /app/readarr/bin/Readarr \
8+
-nobrowser -data=/config
9+
else
10+
exec \
11+
s6-notifyoncheck -d -n 300 -w 1000 \
12+
cd /app/readarr/bin s6-setuidgid abc /app/readarr/bin/Readarr \
13+
-nobrowser -data=/config
14+
fi

0 commit comments

Comments
 (0)