# 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"]