Skip to content

Commit 28a11b9

Browse files
committed
Rebase to 3.21, support non-root operation
1 parent c0f7045 commit 28a11b9

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%2Fprowlarr%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
@@ -77,6 +77,10 @@ Setup info can be found [here](https://wikijs.servarr.com/prowlarr/quick-start-g
7777

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

80+
## Non-Root Operation
81+
82+
This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
83+
8084
## Usage
8185

8286
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
@@ -129,6 +133,7 @@ Containers are configured using parameters passed at runtime (such as those abov
129133
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
130134
| `-v /config` | Database and Prowlarr configs |
131135
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
136+
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
132137

133138
## Environment variables from files (Docker secrets)
134139

@@ -292,6 +297,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
292297

293298
## Versions
294299

300+
* **12.12.24:** - Rebase to Alpine 3.21.
295301
* **25.05.24:** - Rebase to Alpine 3.20.
296302
* **20.03.24:** - Rebase to Alpine 3.19.
297303
* **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
@@ -25,6 +25,7 @@ param_usage_include_ports: true
2525
param_ports:
2626
- {external_port: "9696", internal_port: "9696", port_desc: "The port for the Prowlarr web UI"}
2727
readonly_supported: true
28+
nonroot_supported: true
2829
# application setup block
2930
app_setup_block_enabled: true
3031
app_setup_block: |
@@ -76,6 +77,7 @@ init_diagram: |
7677
"prowlarr:nightly" <- Base Images
7778
# changelog
7879
changelogs:
80+
- {date: "12.12.24:", desc: "Rebase to Alpine 3.21."}
7981
- {date: "25.05.24:", desc: "Rebase to Alpine 3.20."}
8082
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
8183
- {date: "06.06.23:", desc: "Rebase nightly to Alpine 3.18."}

root/etc/s6-overlay/s6-rc.d/init-prowlarr-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/prowlarr-temp
55

6-
# permissions
7-
lsiown -R abc:abc \
8-
/config \
9-
/run/prowlarr-temp
6+
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
7+
lsiown -R abc:abc \
8+
/config \
9+
/run/prowlarr-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/prowlarr/bin s6-setuidgid abc /app/prowlarr/bin/Prowlarr \
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/prowlarr/bin /app/prowlarr/bin/Prowlarr \
8+
-nobrowser -data=/config
9+
else
10+
exec \
11+
s6-notifyoncheck -d -n 300 -w 1000 \
12+
cd /app/prowlarr/bin s6-setuidgid abc /app/prowlarr/bin/Prowlarr \
13+
-nobrowser -data=/config
14+
fi

0 commit comments

Comments
 (0)