Compare commits

..

29 Commits

Author SHA1 Message Date
LinuxServer-CI
2862d4c64b Bot Updating Package Versions 2021-04-03 07:56:31 -04:00
LinuxServer-CI
9d15a99d0d Bot Updating Package Versions 2021-03-28 06:14:19 +01:00
LinuxServer-CI
3e1c6f411d Bot Updating Package Versions 2021-03-27 06:06:10 +00:00
LinuxServer-CI
727670c265 Bot Updating Package Versions 2021-03-25 17:05:45 +00:00
LinuxServer-CI
2b0dbd321b Bot Updating Package Versions 2021-03-24 20:50:54 +00:00
Roxedus
4aeb003f8f Merge pull request #117 from linuxserver/master-custom-trigger
2 stage external trigger to check for artifacts
2021-03-24 21:47:21 +01:00
aptalca
9e38503877 2 stage external trigger to check for artifacts 2021-03-24 15:48:12 -04:00
LinuxServer-CI
0efdf54653 Bot Updating Package Versions 2021-03-22 04:37:19 +00:00
LinuxServer-CI
ef9930aed5 Bot Updating Package Versions 2021-03-15 00:01:29 -04:00
LinuxServer-CI
f2a15340dc Bot Updating Package Versions 2021-02-28 23:05:11 -05:00
LinuxServer-CI
21daeaf0d5 Bot Updating Package Versions 2021-02-22 04:09:13 +00:00
aptalca
af977a986c Merge pull request #102 from TheSpad/patch-1
Safer BT_backup migration
2021-02-13 08:46:51 -05:00
Adam
5bb96a4860 Safer BT_backup migration
Backup /config/qBittorrent/BT_backup/ before we copy anything
Rename /config/data/qBittorrent/BT_backup/ after copy so we don't do it again.
2021-02-13 13:18:26 +00:00
LinuxServer-CI
b1d457d6cf Bot Updating Package Versions 2021-02-13 08:11:31 -05:00
LinuxServer-CI
14f875769b Bot Updating Templated Files 2021-02-13 13:04:00 +00:00
LinuxServer-CI
c361bde9db Bot Updating Templated Files 2021-02-13 13:02:28 +00:00
LinuxServer-CI
2a51275b3a Bot Updating Templated Files 2021-02-13 13:01:07 +00:00
j0nnymoe
9e1a9ee654 Merge pull request #100 from linuxserver/focal
rebase to focal
2021-02-13 12:59:23 +00:00
aptalca
82e6971458 Merge pull request #98 from zaggash/patch-1
v4.3.3 upgrade path
2021-02-10 18:07:39 -05:00
aptalca
db769dc00c rebase to focal 2021-02-10 17:49:24 -05:00
LinuxServer-CI
6b02d3dd3f Bot Updating Package Versions 2021-02-08 03:58:50 +00:00
LinuxServer-CI
c7d44af955 Bot Updating Package Versions 2021-02-01 04:09:18 +00:00
Alexandre Pinon
9a267928a3 v4.3.3 upgrade path 2021-01-25 23:58:51 +01:00
aptalca
a82199f478 Merge pull request #95 from linuxserver/master-deprecate-umask_set
Deprecate UMASK_SET in favor of UMASK in baseimage
2021-01-20 08:04:19 -05:00
Roxedus
2b00f83793 Deprecate UMASK_SET in favor of UMASK in baseimage 2021-01-20 13:19:04 +01:00
LinuxServer-CI
c730612170 Bot Updating Package Versions 2021-01-19 20:29:51 +00:00
LinuxServer-CI
f4aa670e36 Bot Updating Package Versions 2021-01-18 12:07:40 +00:00
LinuxServer-CI
de3c3d3f8f Bot Updating Templated Files 2021-01-18 07:00:42 -05:00
LinuxServer-CI
0ad6143ad5 Bot Updating Package Versions 2021-01-08 05:18:43 -05:00
14 changed files with 349 additions and 251 deletions

View File

@@ -18,16 +18,17 @@ jobs:
fi fi
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER\". ****" 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 ****" echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}') EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****" echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for qbittorrent branch master" FAILURE_REASON="Can't retrieve external version for qbittorrent branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-qbittorrent/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1 exit 1
fi fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') EXT_RELEASE_CLEAN=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****" echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****" echo "**** Retrieving last pushed version ****"
image="linuxserver/qbittorrent" image="linuxserver/qbittorrent"
@@ -60,14 +61,20 @@ jobs:
exit 1 exit 1
fi fi
echo "**** Last pushed version: ${IMAGE_VERSION} ****" echo "**** Last pushed version: ${IMAGE_VERSION} ****"
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then if [ "${EXT_RELEASE_CLEAN}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
exit 0 exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****" echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
exit 0 exit 0
else else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****" echo "**** New version ${EXT_RELEASE_CLEAN} found; old version was ${IMAGE_VERSION}. Checking artifacts. . . ****"
EXT_RELEASE_STRIPPED=$(echo ${EXT_RELEASE} | sed 's|^1:||')
URL_AMD64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_amd64.deb"
URL_ARMHF="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_armhf.deb"
URL_ARM64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_arm64.deb"
if curl -fL "${URL_AMD64}" >/dev/null && curl -fL "${URL_ARMHF}" >/dev/null && curl -fL "${URL_ARM64}" >/dev/null; then
echo "**** All artifacts seem to be published, triggering build ****"
response=$(curl -iX POST \ response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/buildWithParameters?PACKAGE_CHECK=false \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
@@ -88,4 +95,11 @@ jobs:
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}], "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
echo "**** Not all artifacts are published yet, skipping trigger ****"
FAILURE_REASON="New version ${EXT_RELEASE} for qbittorrent tag latest is detected, however not all artifacts are uploaded to launchpad yet. Will try again in 1 hr."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi fi

View File

@@ -8,6 +8,6 @@ jobs:
steps: steps:
- uses: actions/first-interaction@v1 - uses: actions/first-interaction@v1
with: with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE.md)!' issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -2,7 +2,7 @@ name: Package Trigger Scheduler
on: on:
schedule: schedule:
- cron: '12 11 * * 1' - cron: '43 3 * * 1'
workflow_dispatch: workflow_dispatch:
jobs: jobs:

1
.gitignore vendored
View File

@@ -41,3 +41,4 @@ $RECYCLE.BIN/
Network Trash Folder Network Trash Folder
Temporary Items Temporary Items
.apdisk .apdisk
.jenkins-external

View File

@@ -1,11 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG QBITTORRENT_VERSION ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer" LABEL maintainer="thelamer"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

View File

@@ -1,11 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG QBITTORRENT_VERSION ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer" LABEL maintainer="thelamer"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

View File

@@ -1,11 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG QBITTORRENT_VERSION ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer" LABEL maintainer="thelamer"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

92
Jenkinsfile vendored
View File

@@ -55,7 +55,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml' env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger_scheduler.yml'
} }
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
@@ -103,7 +103,7 @@ pipeline {
steps{ steps{
script{ script{
env.EXT_RELEASE = sh( env.EXT_RELEASE = sh(
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''', script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
returnStdout: true).trim() returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command' env.RELEASE_LINK = 'custom_command'
} }
@@ -231,10 +231,53 @@ pipeline {
TEMPDIR=$(mktemp -d) TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}
@@ -242,11 +285,13 @@ pipeline {
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/ cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add ${TEMPLATED_FILES} git add ${TEMPLATED_FILES}
git rm .github/ISSUE_TEMPLATE.md || :
git commit -m 'Bot Updating Templated Files' git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -255,13 +300,30 @@ pipeline {
fi fi
mkdir -p ${TEMPDIR}/gitbook mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/ cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation' git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, skipping Unraid template upload"
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
cd ${TEMPDIR}/unraid/templates/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
fi
rm -Rf ${TEMPDIR}''' rm -Rf ${TEMPDIR}'''
script{ script{
env.FILES_UPDATED = sh( env.FILES_UPDATED = sh(
@@ -495,7 +557,7 @@ pipeline {
} }
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
docker pull ghcr.io/linuxserver/lsiodev-ci:latest docker pull ghcr.io/linuxserver/ci:latest
if [ "${MULTIARCH}" == "true" ]; then if [ "${MULTIARCH}" == "true" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
@@ -520,7 +582,7 @@ pipeline {
-e WEB_PATH=\"${CI_WEBPATH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \ -e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \ -e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/lsiodev-ci:latest \ -t ghcr.io/linuxserver/ci:latest \
python /ci/ci.py''' python /ci/ci.py'''
} }
} }
@@ -665,9 +727,9 @@ pipeline {
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { steps {
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}" echo "Pushing New tag for current commit ${META_TAG}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ -d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\ "object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\ "type": "commit",\
@@ -675,9 +737,9 @@ pipeline {
echo "Pushing New release for Tag" echo "Pushing New release for Tag"
sh '''#! /bin/bash sh '''#! /bin/bash
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "master",\ "target_commitish": "master",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ "name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done paste -d'\\0' start releasebody.json > releasebody.json.done
@@ -704,7 +766,7 @@ pipeline {
TEMPDIR=$(mktemp -d) TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/lsiodev-readme-sync docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \ docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \ -e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \ -e DOCKERHUB_PASSWORD=$DOCKERPASS \
@@ -712,7 +774,7 @@ pipeline {
-e DOCKER_REPOSITORY=${IMAGE} \ -e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \ -e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \ -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync' ghcr.io/linuxserver/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} ''' rm -Rf ${TEMPDIR} '''
} }
} }

View File

@@ -84,11 +84,10 @@ services:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/London - TZ=Europe/London
- UMASK_SET=022
- WEBUI_PORT=8080 - WEBUI_PORT=8080
volumes: volumes:
- </path/to/appdata/config>:/config - /path/to/appdata/config:/config
- </path/to/downloads>:/downloads - /path/to/downloads:/downloads
ports: ports:
- 6881:6881 - 6881:6881
- 6881:6881/udp - 6881:6881/udp
@@ -104,13 +103,12 @@ docker run -d \
-e PUID=1000 \ -e PUID=1000 \
-e PGID=1000 \ -e PGID=1000 \
-e TZ=Europe/London \ -e TZ=Europe/London \
-e UMASK_SET=022 \
-e WEBUI_PORT=8080 \ -e WEBUI_PORT=8080 \
-p 6881:6881 \ -p 6881:6881 \
-p 6881:6881/udp \ -p 6881:6881/udp \
-p 8080:8080 \ -p 8080:8080 \
-v </path/to/appdata/config>:/config \ -v /path/to/appdata/config:/config \
-v </path/to/downloads>:/downloads \ -v /path/to/downloads:/downloads \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/linuxserver/qbittorrent ghcr.io/linuxserver/qbittorrent
``` ```
@@ -128,7 +126,6 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e PUID=1000` | for UserID - see below for explanation | | `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - 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 | | `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-e UMASK_SET=022` | for umask setting of qbittorrent, optional , default if left unset is 022 |
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation | | `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
| `-v /config` | Contains all relevant configuration files. | | `-v /config` | Contains all relevant configuration files. |
| `-v /downloads` | Location of downloads on disk. | | `-v /downloads` | Location of downloads on disk. |
@@ -262,6 +259,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **10.02.21:** - Rebase to focal.
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
* **12.11.20:** - Stop creating /config/data directory on startup * **12.11.20:** - Stop creating /config/data directory on startup
* **03.04.20:** - Fix adding search engine plugin * **03.04.20:** - Fix adding search engine plugin
* **02.08.19:** - Add qbitorrent-cli for processing scripts. * **02.08.19:** - Add qbitorrent-cli for processing scripts.

View File

@@ -3,10 +3,11 @@
# jenkins variables # jenkins variables
project_name: docker-qbittorrent project_name: docker-qbittorrent
external_type: na external_type: na
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'" custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
release_type: stable release_type: stable
release_tag: latest release_tag: latest
ls_branch: master ls_branch: master
custom_external_trigger: true
repo_vars: repo_vars:
- CONTAINER_NAME = 'qbittorrent' - CONTAINER_NAME = 'qbittorrent'
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION' - BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'

View File

@@ -1,180 +1,191 @@
adduser3.116ubuntu1 adduser3.118ubuntu2
apt1.6.12ubuntu0.2 apt2.0.4
apt-utils1.6.12ubuntu0.2 apt-utils2.0.4
base-files10.1ubuntu2.10 base-files11ubuntu5.3
base-passwd3.5.44 base-passwd3.5.47
bash4.4.18-2ubuntu1.2 bash5.0-6ubuntu1.1
bsdutils1:2.31.1-0.4ubuntu3.7 bsdutils1:2.34-0.1ubuntu9.1
bzip21.0.6-8.1ubuntu0.2 bzip21.0.8-2
ca-certificates20201027ubuntu0.18.04.1 ca-certificates20210119~20.04.1
coreutils8.28-1ubuntu1 coreutils8.30-3ubuntu2
curl7.58.0-2ubuntu3.12 curl7.68.0-1ubuntu2.4
dash0.5.8-2.10 dash0.5.10.2-6
dbus1.12.2-1ubuntu1.2 dbus1.12.16-2ubuntu2.1
debconf1.5.66ubuntu1 debconf1.5.73
debianutils4.8.4 debianutils4.9.1
diffutils1:3.6-1 diffutils1:3.7-3
dirmngr2.2.4-1ubuntu1.3 dirmngr2.2.19-3ubuntu2.1
dpkg1.19.0.5ubuntu2.3 dpkg1.19.7ubuntu3
e2fsprogs1.44.1-1ubuntu1.3 e2fsprogs1.45.5-2ubuntu1
fdisk2.31.1-0.4ubuntu3.7 fdisk2.34-0.1ubuntu9.1
file1:5.32-2ubuntu0.4 file1:5.38-4
findutils4.6.0+git+20170828-2 findutils4.7.0-1ubuntu1
gcc-8-base8.4.0-1ubuntu1~18.04 gcc-10-base10.2.0-5ubuntu1~20.04
geoip-bin1.6.12-1 geoip-bin1.6.12-6build1
geoip-database20180315-1 geoip-database20191224-2
gnupg2.2.4-1ubuntu1.3 gnupg2.2.19-3ubuntu2.1
gnupg-l10n2.2.4-1ubuntu1.3 gnupg-l10n2.2.19-3ubuntu2.1
gnupg-utils2.2.4-1ubuntu1.3 gnupg-utils2.2.19-3ubuntu2.1
gpg2.2.4-1ubuntu1.3 gpg2.2.19-3ubuntu2.1
gpg-agent2.2.4-1ubuntu1.3 gpg-agent2.2.19-3ubuntu2.1
gpgconf2.2.4-1ubuntu1.3 gpgconf2.2.19-3ubuntu2.1
gpgsm2.2.4-1ubuntu1.3 gpgsm2.2.19-3ubuntu2.1
gpgv2.2.4-1ubuntu1.3 gpgv2.2.19-3ubuntu2.1
gpg-wks-client2.2.4-1ubuntu1.3 gpg-wks-client2.2.19-3ubuntu2.1
gpg-wks-server2.2.4-1ubuntu1.3 gpg-wks-server2.2.19-3ubuntu2.1
grep3.1-2build1 grep3.4-1
gzip1.6-5ubuntu1 gzip1.10-0ubuntu4
hostname3.20 hostname3.23
init-system-helpers1.51 init-system-helpers1.57
krb5-locales1.16-2ubuntu0.2 krb5-locales1.17-6ubuntu4.1
libacl12.2.52-3build1 libacl12.2.53-6
libapparmor12.12-4ubuntu5.1 libapparmor12.13.3-7ubuntu5.1
libapt-inst2.01.6.12ubuntu0.2 libapt-pkg6.02.0.4
libapt-pkg5.01.6.12ubuntu0.2 libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libasn1-8-heimdal7.5.0+dfsg-1 libassuan02.5.3-7ubuntu2
libassuan02.5.1-2 libattr11:2.4.48-5
libattr11:2.4.47-2build1 libaudit11:2.8.5-2ubuntu6
libaudit11:2.8.2-1ubuntu1 libaudit-common1:2.8.5-2ubuntu6
libaudit-common1:2.8.2-1ubuntu1 libblkid12.34-0.1ubuntu9.1
libblkid12.31.1-0.4ubuntu3.7 libbrotli11.0.7-6ubuntu0.1
libboost-system1.65.11.65.1+dfsg-0ubuntu5 libbz2-1.01.0.8-2
libbz2-1.01.0.6-8.1ubuntu0.2 libc62.31-0ubuntu9.2
libc62.27-3ubuntu1.2 libcap-ng00.7.9-2.1build1
libcap-ng00.7.7-3.1 libc-bin2.31-0ubuntu9.2
libc-bin2.27-3ubuntu1.2 libcom-err21.45.5-2ubuntu1
libcom-err21.44.1-1ubuntu1.3 libcrypt11:4.4.10-10ubuntu4
libcurl47.58.0-2ubuntu3.12 libcurl47.68.0-1ubuntu2.4
libdb5.35.3.28-13.1ubuntu1.1 libdb5.35.3.28+dfsg1-0.6ubuntu2
libdbus-1-31.12.2-1ubuntu1.2 libdbus-1-31.12.16-2ubuntu2.1
libdebconfclient00.213ubuntu1 libdebconfclient00.251ubuntu1
libdouble-conversion12.0.1-4ubuntu1 libdouble-conversion33.1.5-4ubuntu1
libexpat12.2.5-3ubuntu0.2 libexpat12.2.9-1build1
libext2fs21.44.1-1ubuntu1.3 libext2fs21.45.5-2ubuntu1
libfdisk12.31.1-0.4ubuntu3.7 libfdisk12.34-0.1ubuntu9.1
libffi63.2.1-8 libffi73.3-4
libgcc11:8.4.0-1ubuntu1~18.04 libgcc-s110.2.0-5ubuntu1~20.04
libgcrypt201.8.1-4ubuntu1.2 libgcrypt201.8.5-5ubuntu1
libgeoip11.6.12-1 libgdbm61.18.1-5
libglib2.0-02.56.4-0ubuntu0.18.04.6 libgdbm-compat41.18.1-5
libglib2.0-data2.56.4-0ubuntu0.18.04.6 libgeoip11.6.12-6build1
libgmp102:6.1.2+dfsg-2 libglib2.0-02.64.6-1~ubuntu20.04.3
libgnutls303.5.18-1ubuntu1.4 libglib2.0-data2.64.6-1~ubuntu20.04.3
libgpg-error01.27-6 libgmp102:6.2.0+dfsg-4
libgssapi3-heimdal7.5.0+dfsg-1 libgnutls303.6.13-2ubuntu1.3
libgssapi-krb5-21.16-2ubuntu0.2 libgpg-error01.37-1
libhcrypto4-heimdal7.5.0+dfsg-1 libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.5.0+dfsg-1 libgssapi-krb5-21.17-6ubuntu4.1
libheimntlm0-heimdal7.5.0+dfsg-1 libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libhogweed43.4-1 libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libhx509-5-heimdal7.5.0+dfsg-1 libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libicu6060.2-3ubuntu3.1 libhogweed53.5.1+really3.5.1-2
libidn2-02.0.4-1.1ubuntu0.2 libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libk5crypto31.16-2ubuntu0.2 libicu6666.1-2ubuntu2
libkeyutils11.5.9-9.2ubuntu2 libidn2-02.2.0-2
libkrb5-26-heimdal7.5.0+dfsg-1 libk5crypto31.17-6ubuntu4.1
libkrb5-31.16-2ubuntu0.2 libkeyutils11.6-6ubuntu1
libkrb5support01.16-2ubuntu0.2 libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2 libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.8 libldap-2.4-22.4.49+dfsg-2ubuntu1.7
libldap-common2.4.45+dfsg-1ubuntu1.8 libldap-common2.4.49+dfsg-2ubuntu1.7
liblz4-10.0~r131-2ubuntu3 liblz4-11.9.2-2
liblzma55.2.2-1.3 liblzma55.2.4-1ubuntu1
libmagic11:5.32-2ubuntu0.4 libmagic11:5.38-4
libmagic-mgc1:5.32-2ubuntu0.4 libmagic-mgc1:5.38-4
libmount12.31.1-0.4ubuntu3.7 libmount12.34-0.1ubuntu9.1
libmpdec22.4.2-1ubuntu1 libmpdec22.4.2-3
libncurses56.1-1ubuntu1.18.04 libncurses66.2-0ubuntu2
libncursesw56.1-1ubuntu1.18.04 libncursesw66.2-0ubuntu2
libnettle63.4-1 libnetaddr-ip-perl4.079+dfsg-1build4
libnghttp2-141.30.0-1ubuntu1 libnettle73.5.1+really3.5.1-2
libnpth01.5-3 libnghttp2-141.40.0-1build1
libp11-kit00.23.9-2 libnpth01.6-1
libpam0g1.1.8-3.6ubuntu2.18.04.2 libp11-kit00.23.20-1ubuntu0.1
libpam-modules1.1.8-3.6ubuntu2.18.04.2 libpam0g1.3.1-5ubuntu4.1
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2 libpam-modules1.3.1-5ubuntu4.1
libpam-runtime1.1.8-3.6ubuntu2.18.04.2 libpam-modules-bin1.3.1-5ubuntu4.1
libpcre32:8.39-9 libpam-runtime1.3.1-5ubuntu4.1
libprocps62:3.3.12-3ubuntu1.2 libpcre2-16-010.34-7
libpsl50.19.1-5build1 libpcre2-8-010.34-7
libpython3.6-minimal3.6.9-1~18.04ubuntu1.3 libpcre32:8.39-12build1
libpython3.6-stdlib3.6.9-1~18.04ubuntu1.3 libperl5.305.30.0-9ubuntu0.2
libpython3-stdlib3.6.7-1~18.04 libprocps82:3.3.16-1ubuntu2
libqt5core5a5.9.5+dfsg-0ubuntu2.5 libpsl50.21.0-1ubuntu1
libqt5dbus55.9.5+dfsg-0ubuntu2.5 libpython3.8-minimal3.8.5-1~20.04.2
libqt5network55.9.5+dfsg-0ubuntu2.5 libpython3.8-stdlib3.8.5-1~20.04.2
libqt5xml55.9.5+dfsg-0ubuntu2.5 libpython3-stdlib3.8.2-0ubuntu2
libreadline77.0-3 libqt5core5a5.12.8+dfsg-0ubuntu1
libroken18-heimdal7.5.0+dfsg-1 libqt5dbus55.12.8+dfsg-0ubuntu1
librtmp12.4+20151223.gitfa8646d.1-1 libqt5network55.12.8+dfsg-0ubuntu1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1 libqt5xml55.12.8+dfsg-0ubuntu1
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1 libreadline88.0-4
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1 libroken18-heimdal7.7.0+dfsg-1ubuntu1
libseccomp22.4.3-1ubuntu3.18.04.3 librtmp12.4+20151223.gitfa8646d.1-2build1
libselinux12.7-2build2 libsasl2-22.1.27+dfsg-2
libsemanage12.7-2build2 libsasl2-modules2.1.27+dfsg-2
libsemanage-common2.7-2build2 libsasl2-modules-db2.1.27+dfsg-2
libsepol12.7-1 libseccomp22.4.3-1ubuntu3.20.04.3
libsmartcols12.31.1-0.4ubuntu3.7 libselinux13.0-1build2
libsqlite3-03.22.0-1ubuntu0.4 libsemanage13.0-1build2
libss21.44.1-1ubuntu1.3 libsemanage-common3.0-1build2
libssl1.0.01.0.2n-1ubuntu5.5 libsepol13.0-1
libssl1.11.1.1-1ubuntu2.1~18.04.7 libsmartcols12.34-0.1ubuntu9.1
libstdc++68.4.0-1ubuntu1~18.04 libsocket6-perl0.29-1build1
libsystemd0237-3ubuntu10.42 libsqlite3-03.31.1-4ubuntu0.2
libtasn1-64.13-2 libss21.45.5-2ubuntu1
libtinfo56.1-1ubuntu1.18.04 libssh-40.9.3-2ubuntu2.1
libtorrent-rasterbar101.2.12+git20210104.bfafd20428-1ppa1~18.04 libssl1.11.1.1f-1ubuntu2.3
libudev1237-3ubuntu10.42 libstdc++610.2.0-5ubuntu1~20.04
libunistring20.9.9-0ubuntu2 libsystemd0245.4-4ubuntu3.5
libuuid12.31.1-0.4ubuntu3.7 libtasn1-64.16.0-2
libwind0-heimdal7.5.0+dfsg-1 libtinfo66.2-0ubuntu2
libxml22.9.4+dfsg1-6.1ubuntu1.3 libtorrent-rasterbar101.2.13+git20210323.34a979720b-1ppa1~20.04
libzstd11.3.3+dfsg-2ubuntu1.1 libudev1245.4-4ubuntu3.5
locales2.27-3ubuntu1.4 libunistring20.9.10-2
login1:4.5-1ubuntu2 libuuid12.34-0.1ubuntu9.1
lsb-base9.20170808ubuntu1 libwind0-heimdal7.7.0+dfsg-1ubuntu1
mawk1.3.3-17ubuntu3 libxml22.9.10+dfsg-5
mime-support3.60ubuntu1 libzstd11.4.4+dfsg-3ubuntu0.1
mount2.31.1-0.4ubuntu3.7 locales2.31-0ubuntu9.2
ncurses-base6.1-1ubuntu1.18.04 login1:4.8.1-1ubuntu5.20.04
ncurses-bin6.1-1ubuntu1.18.04 logsave1.45.5-2ubuntu1
openssl1.1.1-1ubuntu2.1~18.04.7 lsb-base11.1.0ubuntu2
p7zip16.02+dfsg-6 mawk1.3.4.20200120-2
p7zip-full16.02+dfsg-6 mime-support3.64ubuntu1
passwd1:4.5-1ubuntu2 mount2.34-0.1ubuntu9.1
perl-base5.26.1-6ubuntu0.5 ncurses-base6.2-0ubuntu2
pinentry-curses1.1.0-1 ncurses-bin6.2-0ubuntu2
procps2:3.3.12-3ubuntu1.2 netbase6.1
publicsuffix20180223.1310-1 openssl1.1.1f-1ubuntu2.3
python33.6.7-1~18.04 p7zip16.02+dfsg-7build1
python3.63.6.9-1~18.04ubuntu1.3 p7zip-full16.02+dfsg-7build1
python3.6-minimal3.6.9-1~18.04ubuntu1.3 passwd1:4.8.1-1ubuntu5.20.04
python3-minimal3.6.7-1~18.04 perl5.30.0-9ubuntu0.2
perl-base5.30.0-9ubuntu0.2
perl-modules-5.305.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2
publicsuffix20200303.0012-1
python33.8.2-0ubuntu2
python3.83.8.5-1~20.04.2
python3.8-minimal3.8.5-1~20.04.2
python3-minimal3.8.2-0ubuntu2
qbittorrent-cli1.6.20334-1 qbittorrent-cli1.6.20334-1
qbittorrent-nox1:4.3.2.99~202012272006-7195-abb854a1e~ubuntu18.04.1 qbittorrent-nox1:4.3.4.99~202104031018-7348-2b6baa609~ubuntu20.04.1
qttranslations5-l10n5.9.5-0ubuntu1 qttranslations5-l10n5.12.8-0ubuntu1
readline-common7.0-3 readline-common8.0-4
sed4.4-2 sed4.7-1
sensible-utils0.0.12 sensible-utils0.0.12+nmu1
shared-mime-info1.9-2 shared-mime-info1.15-1
sysvinit-utils2.88dsf-59.10ubuntu1 sysvinit-utils2.96-2.1ubuntu1
tar1.29b-2ubuntu0.1 tar1.30+dfsg-7ubuntu0.20.04.1
tzdata2020d-0ubuntu0.18.04 tzdata2021a-0ubuntu0.20.04
ubuntu-keyring2018.09.18.1~18.04.0 ubuntu-keyring2020.02.11.2
unrar1:5.5.8-1 unrar1:5.6.6-2build1
unzip6.0-21ubuntu1.1 unzip6.0-25ubuntu1
util-linux2.31.1-0.4ubuntu3.7 util-linux2.34-0.1ubuntu9.1
xdg-user-dirs0.17-1ubuntu1 xdg-user-dirs0.17-2ubuntu1
xz-utils5.2.2-1.3 xz-utils5.2.4-1ubuntu1
zlib1g1:1.2.11.dfsg-0ubuntu2 zlib1g1:1.2.11.dfsg-2ubuntu1.2

View File

@@ -24,8 +24,8 @@ common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Contains all relevant configuration files." } - { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files." }
- { vol_path: "/downloads", vol_host_path: "</path/to/downloads>", desc: "Location of downloads on disk." } - { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Location of downloads on disk." }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" } - { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
@@ -34,7 +34,6 @@ param_ports:
param_usage_include_env: true param_usage_include_env: true
param_env_vars: param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
- { env_var: "UMASK_SET", env_value: "022", desc: "for umask setting of qbittorrent, optional , default if left unset is 022"}
- { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"} - { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"}
# optional parameters # optional parameters
@@ -69,6 +68,8 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "10.02.21:", desc: "Rebase to focal." }
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
- { date: "12.11.20:", desc: "Stop creating /config/data directory on startup" } - { date: "12.11.20:", desc: "Stop creating /config/data directory on startup" }
- { date: "03.04.20:", desc: "Fix adding search engine plugin" } - { date: "03.04.20:", desc: "Fix adding search engine plugin" }
- { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." } - { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." }

View File

@@ -7,6 +7,13 @@ mkdir -p /config/qBittorrent
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \ [[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
# v4.3.3 BT_backup migration
[[ -d /config/data/qBittorrent/BT_backup/ ]] && \
mv /config/qBittorrent/BT_backup/ /config/qBittorrent/BT_backup.bak/ && \
mkdir /config/qBittorrent/BT_backup/ && \
cp -a /config/data/qBittorrent/BT_backup/. /config/qBittorrent/BT_backup/ && \
mv /config/data/qBittorrent/BT_backup/ /config/data/qBittorrent/BT_backup.old/
# chown download directory if currently not set to abc # chown download directory if currently not set to abc
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
chown -R abc:abc /downloads chown -R abc:abc /downloads

View File

@@ -1,9 +1,11 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
UMASK_SET=${UMASK_SET:-022}
WEBUI_PORT=${WEBUI_PORT:-8080} WEBUI_PORT=${WEBUI_PORT:-8080}
umask "$UMASK_SET" if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then
echo -e "You are using a legacy method of defining umask\nplease update your environment variable from UMASK_SET to UMASK\nto keep the functionality after July 2021"
umask ${UMASK_SET}
fi
exec \ exec \
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}" s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"