mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-03 02:14:16 +00:00
0e456f33c1
This is mainly to avoid downloaded files being owned by root which requires another one or two commands to change the file ownership.
60 lines
1.4 KiB
Docker
60 lines
1.4 KiB
Docker
# image for building
|
|
FROM alpine:latest AS builder
|
|
|
|
ARG QBT_VERSION
|
|
|
|
# alpine linux qbittorrent package: https://git.alpinelinux.org/aports/tree/community/qbittorrent/APKBUILD
|
|
|
|
RUN \
|
|
apk --update-cache add \
|
|
boost-dev \
|
|
cmake \
|
|
g++ \
|
|
libtorrent-rasterbar-dev \
|
|
ninja \
|
|
qt6-qtbase-dev \
|
|
qt6-qttools-dev
|
|
|
|
RUN \
|
|
if [ "$QBT_VERSION" = "devel" ]; then \
|
|
wget https://github.com/qbittorrent/qBittorrent/archive/refs/heads/master.zip && \
|
|
unzip master.zip && \
|
|
cd qBittorrent-master ; \
|
|
else \
|
|
wget "https://github.com/qbittorrent/qBittorrent/archive/refs/tags/release-${QBT_VERSION}.tar.gz" && \
|
|
tar -xf "release-${QBT_VERSION}.tar.gz" && \
|
|
cd "qBittorrent-release-${QBT_VERSION}" ; \
|
|
fi && \
|
|
cmake \
|
|
-B build \
|
|
-G Ninja \
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
-DGUI=OFF \
|
|
-DQT6=ON \
|
|
-DSTACKTRACE=OFF && \
|
|
cmake --build build && \
|
|
cmake --install build
|
|
|
|
# image for running
|
|
FROM alpine:latest
|
|
|
|
RUN \
|
|
apk --no-cache add \
|
|
doas \
|
|
libtorrent-rasterbar \
|
|
qt6-qtbase \
|
|
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 entrypoint.sh /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/sbin/tini", "-g", "--", "/entrypoint.sh"]
|