Skip to content

Commit

Permalink
Rebase to 3.21, support non-root operation
Browse files Browse the repository at this point in the history
  • Loading branch information
thespad committed Dec 12, 2024
1 parent c0f7045 commit 28a11b9
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 20 deletions.
22 changes: 12 additions & 10 deletions .github/workflows/external_trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,18 @@ jobs:
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fprowlarr%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')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+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}")
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1

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

# set version label
ARG BUILD_DATE
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.aarch64
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1

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

# set version label
ARG BUILD_DATE
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ Setup info can be found [here](https://wikijs.servarr.com/prowlarr/quick-start-g

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/).

## Usage

To help you get started creating a container from this image you can either use docker-compose or the docker cli.
Expand Down Expand Up @@ -129,6 +133,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-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 Prowlarr configs |
| `--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)

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

## Versions

* **12.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 nightly to Alpine 3.18.
Expand Down
2 changes: 2 additions & 0 deletions readme-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ param_usage_include_ports: true
param_ports:
- {external_port: "9696", internal_port: "9696", port_desc: "The port for the Prowlarr web UI"}
readonly_supported: true
nonroot_supported: true
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Expand Down Expand Up @@ -76,6 +77,7 @@ init_diagram: |
"prowlarr:nightly" <- Base Images
# changelog
changelogs:
- {date: "12.12.24:", desc: "Rebase to Alpine 3.21."}
- {date: "25.05.24:", desc: "Rebase to Alpine 3.20."}
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
- {date: "06.06.23:", desc: "Rebase nightly to Alpine 3.18."}
Expand Down
9 changes: 5 additions & 4 deletions root/etc/s6-overlay/s6-rc.d/init-prowlarr-config/run
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

mkdir -p /run/prowlarr-temp

# permissions
lsiown -R abc:abc \
/config \
/run/prowlarr-temp
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
lsiown -R abc:abc \
/config \
/run/prowlarr-temp
fi
15 changes: 11 additions & 4 deletions root/etc/s6-overlay/s6-rc.d/svc-prowlarr/run
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash

exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/prowlarr/bin s6-setuidgid abc /app/prowlarr/bin/Prowlarr \
-nobrowser -data=/config
if [[ -n ${LSIO_NON_ROOT_USER} ]]; then
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/prowlarr/bin /app/prowlarr/bin/Prowlarr \
-nobrowser -data=/config
else
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/prowlarr/bin s6-setuidgid abc /app/prowlarr/bin/Prowlarr \
-nobrowser -data=/config
fi

0 comments on commit 28a11b9

Please sign in to comment.