Run qbt-nox as non-root

This is mainly to avoid downloaded files being owned by root which
requires another one or two commands to change the file ownership.
This commit is contained in:
Chocobo1 2022-05-05 13:30:18 +08:00
parent 6778d36454
commit 0e456f33c1
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
2 changed files with 20 additions and 5 deletions

View file

@ -40,9 +40,17 @@ FROM alpine:latest
RUN \ RUN \
apk --no-cache add \ apk --no-cache add \
doas \
libtorrent-rasterbar \ libtorrent-rasterbar \
qt6-qtbase \ qt6-qtbase \
tini tini && \
adduser \
-D \
-H \
-s /sbin/nologin \
-u 1000 \
qbtUser && \
echo "permit nopass :root" >> "/etc/doas.d/doas.conf"
COPY --from=builder /usr/local/bin/qbittorrent-nox /usr/bin/qbittorrent-nox COPY --from=builder /usr/local/bin/qbittorrent-nox /usr/bin/qbittorrent-nox

View file

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
downloadsPath="/downloads"
profilePath="/config" profilePath="/config"
qbtConfigFile="$profilePath/qBittorrent/config/qBittorrent.conf" qbtConfigFile="$profilePath/qBittorrent/config/qBittorrent.conf"
@ -22,7 +23,13 @@ EOF
fi fi
fi fi
qbittorrent-nox \ # those are owned by root by default
--profile="$profilePath" \ # don't change existing files owner in `$downloadsPath`
--webui-port="$QBT_WEBUI_PORT" \ chown qbtUser:qbtUser "$downloadsPath"
"$@" chown qbtUser:qbtUser -R "$profilePath"
doas -u qbtUser \
qbittorrent-nox \
--profile="$profilePath" \
--webui-port="$QBT_WEBUI_PORT" \
"$@"