chore(docker): New PUID & PGID env vars

pull/92/head
Robert Dailey 2 years ago
parent 5a75a14e8f
commit 6a581282b0

@ -22,13 +22,18 @@ ENV RECYCLARR_APP_DATA=/config \
# as needed. # as needed.
CRON_SCHEDULE="@daily" \ CRON_SCHEDULE="@daily" \
# The GLOBALIZATION variable is so that we do not need libicu installed (saves us ~40MB). # The GLOBALIZATION variable is so that we do not need libicu installed (saves us ~40MB).
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true \
# User can specify their own UID/GID for the 'recyclarr' user if they want
PUID=1000 \
PGID=1000
VOLUME /config VOLUME /config
RUN set -ex; \ RUN set -ex; \
cat /etc/passwd; \
apk add --no-cache busybox-suid su-exec libstdc++ tzdata; \ apk add --no-cache busybox-suid su-exec libstdc++ tzdata; \
adduser --disabled-password --no-create-home recyclarr; addgroup --gid $PGID recyclarr; \
adduser --uid $PUID --ingroup recyclarr --disabled-password --no-create-home recyclarr;
COPY --chown=recyclarr:recyclarr --chmod=544 --from=build /build/recyclarr /usr/local/bin COPY --chown=recyclarr:recyclarr --chmod=544 --from=build /build/recyclarr /usr/local/bin
COPY --chown=recyclarr:recyclarr --chmod=544 ./scripts/prod/*.sh / COPY --chown=recyclarr:recyclarr --chmod=544 ./scripts/prod/*.sh /

@ -7,8 +7,10 @@ Before we get into the details of how to use the Docker image, I want to start w
personally hardly ever run `docker` commands directly. Instead, I use `docker compose` mainly personally hardly ever run `docker` commands directly. Instead, I use `docker compose` mainly
because the `docker-compose.yml` file is a fantastic way to keep configuration details in one place. because the `docker-compose.yml` file is a fantastic way to keep configuration details in one place.
Thus, for the remainder of this page, all instruction and advice will be based on the example YAML Thus, for the remainder of this page, all instruction and advice will be based on the example YAML
below. I highly recommend you set up your own `docker-compose.yml` this way. I understand there will below. I highly recommend you set up your own `docker-compose.yml` this way.
be minor differences for everyone's use case, but it should mostly be taken verbatim.
Note that the below example should not be used verbatim. It's meant for example purposes only. Copy
& paste it but make the appropriate and necessary changes to it for your specific use case.
```yml ```yml
version: '3' version: '3'
@ -28,6 +30,8 @@ services:
- ./config:/config - ./config:/config
environment: environment:
- TZ=America/Santiago - TZ=America/Santiago
- PUID=$DOCKER_UID
- PGID=$DOCKER_GID
``` ```
Here is a breakdown of the above YAML: Here is a breakdown of the above YAML:
@ -48,6 +52,7 @@ Here is a breakdown of the above YAML:
run `docker compose down` or `docker compose stop`. Internally, this runs Recyclarr using run `docker compose down` or `docker compose stop`. Internally, this runs Recyclarr using
[tini](https://github.com/krallin/tini). Please visit that repo to understand the benefits in [tini](https://github.com/krallin/tini). Please visit that repo to understand the benefits in
detail, if you're interested. detail, if you're interested.
- Stuff under `environment` is documented in the Environment section below.
## Tags ## Tags
@ -82,9 +87,18 @@ value *stability* the most, you want the bottom row. If you value being on *the
- `CRON_SCHEDULE` (Default: `@daily`)<br> - `CRON_SCHEDULE` (Default: `@daily`)<br>
Standard cron syntax for how often you want Recyclarr to run (see [Cron Mode](#cron-mode)). Standard cron syntax for how often you want Recyclarr to run (see [Cron Mode](#cron-mode)).
- `TZ` (Default: UTC)
- `TZ` (Default: `UTC`)<br>
The time zone you want to use for Recyclarr's local time in the container. The time zone you want to use for Recyclarr's local time in the container.
- `PUID` (Default: `1000`)<br>
The UID for the internal non-root user in the container. Match this to a UID on your host system
if you're using a directory-mounted volume for `/config`.
- `PGID` (Default: `1000`)<br>
The GID for the internal non-root user's group in the container. Match this to a GID on your host
system if you're using a directory-mounted volume for `/config`.
## Modes ## Modes
The docker container can operate in one of two different ways, which are documented below. The docker container can operate in one of two different ways, which are documented below.

Loading…
Cancel
Save