Compare commits

...

35 Commits

Author SHA1 Message Date
LinuxServer-CI
987952046f Bot Updating Package Versions 2022-04-17 23:04:32 -05:00
LinuxServer-CI
f0938c4f2b Bot Updating Package Versions 2022-04-15 16:50:35 +02:00
LinuxServer-CI
d17662b2d7 Bot Updating Package Versions 2022-04-10 23:00:34 -05:00
LinuxServer-CI
565e33a035 Bot Updating Package Versions 2022-04-10 06:56:16 +02:00
LinuxServer-CI
f5d7576098 Bot Updating Package Versions 2022-04-03 22:57:29 -05:00
LinuxServer-CI
01863767be Bot Updating Templated Files 2022-03-27 13:36:28 +02:00
Roxedus
1f480ed6a9 Merge pull request #165 from mynameisbogdan/fix-ports-order
Fix ports order
2022-03-27 13:35:11 +02:00
Bogdan
aa8bf3811b fix ports order 2022-03-27 14:15:20 +03:00
LinuxServer-CI
6d4d5ae9d5 Bot Updating Package Versions 2022-03-26 17:51:55 -05:00
LinuxServer-CI
ac95fb5904 Bot Updating Package Versions 2022-03-25 06:49:43 +01:00
LinuxServer-CI
0358202857 Bot Updating Package Versions 2022-03-20 22:52:27 -05:00
LinuxServer-CI
52f469a40d Bot Updating Package Versions 2022-03-14 04:51:12 +01:00
LinuxServer-CI
c067dc6e28 Bot Updating Package Versions 2022-03-07 04:48:25 +01:00
LinuxServer-CI
e9c36e0989 Bot Updating Package Versions 2022-03-03 21:04:03 +01:00
thelamer
afe1de3e7f use bash wrapper for qbt and do not use single bin 2022-03-03 11:54:26 -08:00
thelamer
0ec11ff56a build unrar add 7zip and use qbt bins for alpine 2022-03-03 11:54:26 -08:00
LinuxServer-CI
0ff8121521 Bot Updating Package Versions 2022-03-01 14:42:14 +01:00
LinuxServer-CI
df6b84fcee Bot Updating Templated Files 2022-03-01 14:39:36 +01:00
aptalca
9a6fca93a4 Merge pull request #160 from linuxserver/python
Add python for search plugin support
2022-03-01 08:38:09 -05:00
TheSpad
3f1abde2d5 Add python for search plugin support 2022-03-01 10:21:03 +00:00
LinuxServer-CI
aa53903516 Bot Updating Package Versions 2022-02-28 04:47:38 +01:00
LinuxServer-CI
11399fc0b8 Bot Updating Package Versions 2022-02-27 15:00:19 +01:00
aptalca
d86db02334 Merge pull request #157 from linuxserver/edge
Rebase to Edge, install from repos.
2022-02-27 08:57:50 -05:00
TheSpad
7c0eb4e676 Fix formatting, restore 4.3.3 migration check. 2022-02-23 22:17:26 +00:00
TheSpad
f4688d02a6 Run builder 2022-02-23 21:53:27 +00:00
TheSpad
e219ebb68a Rebase to Edge, install from repos. 2022-02-23 21:50:19 +00:00
LinuxServer-CI
6b33e52b99 Bot Updating Package Versions 2022-02-21 04:56:14 +01:00
LinuxServer-CI
d8521268eb Bot Updating Templated Files 2022-02-20 00:04:50 +01:00
Adam
0589233f7e Merge pull request #156 from rchenzheng/ISSUE-155/missing-jq 2022-02-19 23:03:45 +00:00
Richard Chen Zheng
73869214a6 Include jq for build-stage 2022-02-19 16:42:19 -05:00
LinuxServer-CI
4ca216b6a5 Bot Updating Package Versions 2022-02-17 14:57:18 +01:00
Adam
7e84208a53 Change release logic (#154) 2022-02-17 13:16:55 +00:00
LinuxServer-CI
7c6e03cbee Bot Updating Package Versions 2022-02-14 05:01:04 +01:00
LinuxServer-CI
0d8a8358bc Bot Updating Package Versions 2022-02-07 05:00:34 +01:00
LinuxServer-CI
d8875f90f2 Bot Updating Package Versions 2022-01-24 04:57:38 +01:00
12 changed files with 238 additions and 385 deletions

View File

@@ -18,7 +18,8 @@ jobs:
fi
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(echo release-$(curl -s 'https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog' | grep -Po '^\w{3} \w{3} \d{2} \d{4} - .* - \K(v\d+\.\d+\.\d+\.?\d?)$' | head -1 | cut -c2-))
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:'"qbittorrent-nox"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for qbittorrent branch master"

View File

@@ -1,131 +1,72 @@
FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as build-stage
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
boost-dev \
build-base \
cmake \
curl \
git \
grep \
libtool \
linux-headers \
perl \
pkgconf \
python3-dev \
re2c \
icu-dev \
libexecinfo-dev \
openssl-dev \
qt6-qtbase-dev \
qt6-qttools-dev \
qt6-qtsvg-dev \
zlib-dev && \
mkdir -p /build && \
echo "**** build ninja ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
cmake -Wno-dev -B build \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build libtorrent ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_LIBDIR="lib" \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build qbittorrent ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION="release-"$(curl -s "https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog" | grep -Po '^\w{3} \w{3} \d{2} \d{4} - .* - \K(v\d+\.\d+\.\d+\.?\d?)$' | head -1 | cut -c2-); \
fi && \
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
-D CMAKE_INSTALL_PREFIX="/build/usr" \
-D GUI=OFF \
-D QT6=ON && \
cmake --build build && \
cmake --install build && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/config/* \
/tmp/*
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
FROM ghcr.io/linuxserver/baseimage-alpine:edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thespad"
# environment settings
ARG QBT_VERSION=1.7
ARG UNRAR_VERSION=6.1.4
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
#copy build artifacts from build-stage
COPY --from=build-stage /build/usr/ /usr/
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
make \
g++ \
gcc && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
p7zip \
geoip \
unzip \
bash \
curl \
icu-libs\
libexecinfo \
icu-libs \
libstdc++ \
openssl \
python3 \
qt6-qtbase \
zlib && \
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
echo "***** install qbitorrent-cli ****" && \
if [ -z ${QBT_VERSION+x} ]; then \
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
p7zip \
python3 && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_amd64.tar.gz" && \
tar xzf \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
curl -L \
-o /tmp/qbt.tar.gz \
"https://github.com/linuxserver/docker-qbittorrent/releases/download/qbt-${QBT_VERSION}/qbt.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/tmp && \
mv /tmp/qbt /usr/bin && \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/var/tmp/*
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

View File

@@ -1,131 +1,72 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as build-stage
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
boost-dev \
build-base \
cmake \
curl \
git \
grep \
libtool \
linux-headers \
perl \
pkgconf \
python3-dev \
re2c \
icu-dev \
libexecinfo-dev \
openssl-dev \
qt6-qtbase-dev \
qt6-qttools-dev \
qt6-qtsvg-dev \
zlib-dev && \
mkdir -p /build && \
echo "**** build ninja ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
cmake -Wno-dev -B build \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build libtorrent ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_LIBDIR="lib" \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build qbittorrent ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION="release-"$(curl -s "https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog" | grep -Po '^\w{3} \w{3} \d{2} \d{4} - .* - \K(v\d+\.\d+\.\d+\.?\d?)$' | head -1 | cut -c2-); \
fi && \
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
-D CMAKE_INSTALL_PREFIX="/build/usr" \
-D GUI=OFF \
-D QT6=ON && \
cmake --build build && \
cmake --install build && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/config/* \
/tmp/*
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thespad"
# environment settings
ARG QBT_VERSION=1.7
ARG UNRAR_VERSION=6.1.4
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
#copy build artifacts from build-stage
COPY --from=build-stage /build/usr/ /usr/
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
make \
g++ \
gcc && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
p7zip \
geoip \
unzip \
bash \
curl \
icu-libs \
libexecinfo \
libstdc++ \
openssl \
python3 \
qt6-qtbase \
zlib && \
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
echo "***** install qbitorrent-cli ****" && \
if [ -z ${QBT_VERSION+x} ]; then \
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
p7zip \
python3 && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_amd64.tar.gz" && \
tar xzf \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
curl -L \
-o /tmp/qbt.tar.gz \
"https://github.com/linuxserver/docker-qbittorrent/releases/download/qbt-${QBT_VERSION}/qbt-arm64.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/tmp && \
mv /tmp/qbt /usr/bin && \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/var/tmp/*
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

View File

@@ -1,131 +1,74 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as build-stage
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
RUN \
echo "**** install packages ****" && \
apk add -U --update --no-cache --virtual=build-dependencies \
autoconf \
automake \
boost-dev \
build-base \
cmake \
curl \
git \
grep \
libtool \
linux-headers \
perl \
pkgconf \
python3-dev \
re2c \
icu-dev \
libexecinfo-dev \
openssl-dev \
qt6-qtbase-dev \
qt6-qttools-dev \
qt6-qtsvg-dev \
zlib-dev && \
mkdir -p /build && \
echo "**** build ninja ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/ninja-build/ninja.git ~/ninja && cd ~/ninja && \
git checkout "$(git tag -l --sort=-v:refname "v*" | head -n 1)" && \
cmake -Wno-dev -B build \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build libtorrent ****" && \
git clone --shallow-submodules --recurse-submodules https://github.com/arvidn/libtorrent.git ~/libtorrent && cd ~/libtorrent && \
git checkout "$(git tag -l --sort=-v:refname "v2*" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_INSTALL_LIBDIR="lib" \
-D CMAKE_INSTALL_PREFIX="/usr" && \
cmake --build build && \
cmake --install build && \
echo "**** build qbittorrent ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION="release-"$(curl -s "https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog" | grep -Po '^\w{3} \w{3} \d{2} \d{4} - .* - \K(v\d+\.\d+\.\d+\.?\d?)$' | head -1 | cut -c2-); \
fi && \
git clone --shallow-submodules --recurse-submodules https://github.com/qbittorrent/qBittorrent.git ~/qbittorrent && cd ~/qbittorrent && \
git checkout "$(git tag -l --sort=-v:refname "${QBITTORRENT_VERSION}" | head -n 1)" && \
cmake -Wno-dev -G Ninja -B build \
-D CMAKE_BUILD_TYPE="release" \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_CXX_STANDARD_LIBRARIES="/usr/lib/libexecinfo.so" \
-D CMAKE_INSTALL_PREFIX="/build/usr" \
-D GUI=OFF \
-D QT6=ON && \
cmake --build build && \
cmake --install build && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/config/* \
/tmp/*
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thespad"
# environment settings
ARG QBT_VERSION=1.7
ARG UNRAR_VERSION=6.1.4
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
#copy build artifacts from build-stage
COPY --from=build-stage /build/usr/ /usr/
COPY --from=build-stage /usr/lib/libtorrent-rasterbar.so.* /usr/lib/
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
make \
g++ \
gcc && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
p7zip \
geoip \
unzip \
bash \
curl \
gcompat \
icu-libs \
libexecinfo \
libc6-compat \
libstdc++ \
openssl \
python3 \
qt6-qtbase \
zlib && \
apk add -U --upgrade --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.14/main/ unrar && \
echo "***** install qbitorrent-cli ****" && \
if [ -z ${QBT_VERSION+x} ]; then \
QBT_VERSION=$(curl -sX GET "https://api.github.com/repos/ludviglundgren/qbittorrent-cli/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
p7zip \
python3 && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/ludviglundgren/qbittorrent-cli/releases/download/${QBT_VERSION}/qbittorrent-cli_$(echo $QBT_VERSION | cut -c2-)_linux_amd64.tar.gz" && \
tar xzf \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
curl -L \
-o /tmp/qbt.tar.gz \
"https://github.com/linuxserver/docker-qbittorrent/releases/download/qbt-${QBT_VERSION}/qbt-arm.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/tmp && \
mv /tmp/qbt /usr/bin && \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/var/tmp/*
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

16
Jenkinsfile vendored
View File

@@ -25,6 +25,9 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
DIST_IMAGE = 'alpine'
DIST_TAG = 'edge'
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
DIST_REPO_PACKAGES = 'qbittorrent-nox'
MULTIARCH='true'
CI='true'
CI_WEB='true'
@@ -99,14 +102,15 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a custom command to determine version use that command
stage("Set tag custom bash"){
// If this is an alpine repo change for external version determine an md5 from the version string
stage("Set tag Alpine Repo"){
steps{
script{
env.EXT_RELEASE = sh(
script: ''' echo release-$(curl -s 'https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog' | grep -Po '^\\w{3} \\w{3} \\d{2} \\d{4} - .* - \\K(v\\d+\\.\\d+\\.\\d+\\.?\\d?)$' | head -1 | cut -c2-) ''',
script: '''curl -sL "${DIST_REPO}x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:'"${DIST_REPO_PACKAGES}"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://' ''',
returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command'
env.RELEASE_LINK = 'alpine_repo'
}
}
}
@@ -909,11 +913,11 @@ pipeline {
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "master",\
"name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Repo Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''

View File

@@ -115,9 +115,9 @@ services:
- /path/to/appdata/config:/config
- /path/to/downloads:/downloads
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
- 8080:8080
restart: unless-stopped
```
@@ -130,9 +130,9 @@ docker run -d \
-e PGID=1000 \
-e TZ=Europe/London \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v /path/to/appdata/config:/config \
-v /path/to/downloads:/downloads \
--restart unless-stopped \
@@ -145,9 +145,9 @@ Container images are configured using parameters passed at runtime (such as thos
| Parameter | Function |
| :----: | --- |
| `-p 8080` | WebUI |
| `-p 6881` | tcp connection port |
| `-p 6881/udp` | udp connection port |
| `-p 8080` | http gui |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
@@ -264,6 +264,10 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **02.03.22:** - Add unrar, 7zip, and qbitorrent-cli.
* **01.03.22:** - Add python for search plugin support.
* **23.02.22:** - Rebase to Alpine Edge, install from Alpine repos.
* **19.02.22:** - Add jq to build-stage
* **07.01.22:** - Rebase to Alpine, build from source.
* **06.01.22:** - Deprecate unstable branch.
* **10.02.21:** - Rebase to focal.

View File

@@ -2,8 +2,7 @@
# jenkins variables
project_name: docker-qbittorrent
external_type: na
custom_version_command: "echo release-$(curl -s 'https://raw.githubusercontent.com/qbittorrent/qBittorrent/HEAD/Changelog' | grep -Po '^\\\\w{3} \\\\w{3} \\\\d{2} \\\\d{4} - .* - \\\\K(v\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.?\\\\d?)$' | head -1 | cut -c2-)"
external_type: alpine_repo
release_type: stable
release_tag: latest
ls_branch: master
@@ -16,6 +15,9 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
- PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
- DIST_IMAGE = 'alpine'
- DIST_TAG = 'edge'
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
- DIST_REPO_PACKAGES = 'qbittorrent-nox'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'

View File

@@ -1,45 +1,46 @@
alpine-baselayout-3.2.0-r18
alpine-baselayout-3.2.0-r20
alpine-baselayout-data-3.2.0-r20
alpine-keys-2.4-r1
apk-tools-2.12.7-r3
bash-5.1.8-r0
brotli-libs-1.0.9-r5
busybox-1.34.1-r3
ca-certificates-20191127-r7
ca-certificates-bundle-20191127-r7
coreutils-9.0-r2
curl-7.80.0-r0
dbus-libs-1.12.20-r4
apk-tools-2.12.9-r2
bash-5.1.16-r0
brotli-libs-1.0.9-r6
busybox-1.35.0-r8
ca-certificates-20211220-r0
ca-certificates-bundle-20211220-r0
coreutils-9.0-r3
curl-7.82.0-r0
dbus-libs-1.12.22-r0
double-conversion-3.1.5-r0
expat-2.4.3-r0
gdbm-1.22-r0
geoip-1.6.12-r2
glib-2.70.1-r0
icu-libs-69.1-r1
libacl-2.2.53-r0
expat-2.4.8-r0
file-5.41-r0
gdbm-1.23-r0
glib-2.72.0-r0
icu-libs-70.1-r0
libacl-2.3.1-r0
libattr-2.5.1-r1
libb2-0.98.1-r1
libblkid-2.37.2-r1
libbsd-0.11.3-r1
libb2-0.98.1-r2
libblkid-2.38-r1
libbsd-0.11.6-r2
libbz2-1.0.8-r1
libc-utils-0.7.2-r3
libcrypto1.1-1.1.1l-r8
libcurl-7.80.0-r0
libexecinfo-1.1-r1
libcrypto1.1-1.1.1n-r0
libcurl-7.82.0-r0
libffi-3.4.2-r1
libgcc-10.3.1_git20211027-r0
libgomp-10.3.1_git20211027-r0
libgcc-11.2.1_git20220219-r2
libgomp-11.2.1_git20220219-r2
libice-1.0.10-r0
libintl-0.21-r0
libintl-0.21-r2
libmagic-5.41-r0
libmd-1.0.3-r0
libmount-2.37.2-r1
libmount-2.38-r1
libpcre2-16-10.39-r0
libproc-3.3.17-r0
libretls-3.3.4-r2
libproc-3.3.17-r1
libsm-1.2.3-r0
libssl1.1-1.1.1l-r8
libstdc++-10.3.1_git20211027-r0
libuuid-2.37.2-r1
libx11-1.7.2-r0
libssl1.1-1.1.1n-r0
libstdc++-11.2.1_git20220219-r2
libtorrent-rasterbar-2.0.6-r0
libuuid-2.38-r1
libx11-1.7.5-r0
libxau-1.0.9-r0
libxcb-1.14-r2
libxdmcp-1.1.3-r0
@@ -48,32 +49,30 @@ libxmu-1.1.3-r0
libxt-1.2.1-r0
linux-pam-1.5.2-r0
mpdecimal-2.5.1-r1
musl-1.2.2-r7
musl-utils-1.2.2-r7
ncurses-libs-6.3_p20211120-r0
ncurses-terminfo-base-6.3_p20211120-r0
nghttp2-libs-1.46.0-r0
openssl-1.1.1l-r8
p7zip-16.02-r4
pcre-8.45-r1
procps-3.3.17-r0
python3-3.9.7-r4
qt6-qtbase-6.2.1-r2
readline-8.1.1-r0
s6-ipcserver-2.11.0.0-r0
musl-1.2.3-r0
musl-utils-1.2.3-r0
ncurses-libs-6.3_p20220402-r0
ncurses-terminfo-base-6.3_p20220402-r0
nghttp2-libs-1.47.0-r0
openssl-1.1.1n-r0
p7zip-17.04-r2
pcre-8.45-r2
procps-3.3.17-r1
python3-3.10.3-r1
qbittorrent-nox-4.4.2-r4
qt6-qtbase-6.2.4-r0
readline-8.1.2-r0
scanelf-1.3.3-r0
shadow-4.8.1-r1
skalibs-2.11.0.0-r0
sqlite-libs-3.36.0-r0
ssl_client-1.34.1-r3
tzdata-2021e-r0
unrar-6.0.7-r0
unzip-6.0-r9
utmps-0.1.0.3-r0
xdg-utils-1.1.3-r0
shadow-4.10-r3
skalibs-2.11.2.0-r0
sqlite-libs-3.38.2-r0
ssl_client-1.35.0-r8
tzdata-2022a-r0
utmps-libs-0.1.2.0-r0
xdg-utils-1.1.3-r3
xprop-1.2.5-r0
xset-1.2.4-r0
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3
zstd-libs-1.5.0-r0
xz-5.2.5-r1
xz-libs-5.2.5-r1
zlib-1.2.12-r0
zstd-libs-1.5.2-r1

View File

@@ -27,9 +27,9 @@ param_volumes:
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Location of downloads on disk." }
param_usage_include_ports: true
param_ports:
- { external_port: "8080", internal_port: "8080", port_desc: "WebUI" }
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
- { external_port: "6881", internal_port: "6881/udp", port_desc: "udp connection port" }
- { external_port: "8080", internal_port: "8080", port_desc: "http gui" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
@@ -69,6 +69,10 @@ app_setup_block: |
# changelog
changelogs:
- { date: "02.03.22:", desc: "Add unrar, 7zip, and qbitorrent-cli." }
- { date: "01.03.22:", desc: "Add python for search plugin support." }
- { date: "23.02.22:", desc: "Rebase to Alpine Edge, install from Alpine repos." }
- { date: "19.02.22:", desc: "Add jq to build-stage" }
- { date: "07.01.22:", desc: "Rebase to Alpine, build from source." }
- { date: "06.01.22:", desc: "Deprecate unstable branch." }
- { date: "10.02.21:", desc: "Rebase to focal." }

14
root/usr/bin/qbt Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/with-contenv bash
# qbt bash wrapper to prompt user when trying to save password
if [[ "$@" == "settings set password" ]]; then
echo "Setting password is not supported"
echo "Please use --ask-for-password or --password"
elif [[ "$@" == "settings set"* ]]; then
/qbt/qbt "$@"
elif [[ "$@" != *"--ask-for-password"* ]] && [[ "$@" != *"--password"* ]];then
echo "Please use --ask-for-password or --password and ensure username/url are set"
/qbt/qbt "$@"
else
/qbt/qbt "$@"
fi