Compare commits

..

3 Commits

Author SHA1 Message Date
LinuxServer-CI
3eb0345870 Bot Updating Package Versions 2019-11-02 08:16:00 +00:00
LinuxServer-CI
00249991fd Bot Updating Package Versions 2019-11-01 01:12:40 +00:00
LinuxServer-CI
9989d4583d Bot Updating Templated Files 2019-10-31 21:07:26 -04:00
11 changed files with 216 additions and 288 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1,2 +1 @@
github: linuxserver
open_collective: linuxserver

View File

@@ -1,13 +0,0 @@
name: Greetings
on: [pull_request_target, issues]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-qbittorrent/.github/ISSUE_TEMPLATE.md)!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,23 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

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

View File

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

View File

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

215
Jenkinsfile vendored
View File

@@ -41,7 +41,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':unstable 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -55,7 +55,7 @@ pipeline {
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.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml'
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md'
}
script{
env.LS_RELEASE_NUMBER = sh(
@@ -103,7 +103,7 @@ pipeline {
steps{
script{
env.EXT_RELEASE = sh(
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/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/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command'
}
@@ -119,15 +119,16 @@ pipeline {
}
}
}
// If this is a unstable build use live docker endpoints
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
@@ -142,12 +143,13 @@ pipeline {
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "unstable"}
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
@@ -168,6 +170,7 @@ pipeline {
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
@@ -213,7 +216,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -224,7 +227,7 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -232,9 +235,9 @@ pipeline {
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 unstable
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES}
@@ -264,7 +267,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -344,9 +347,7 @@ pipeline {
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -373,9 +374,7 @@ pipeline {
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -387,7 +386,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -415,7 +414,7 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f unstable
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@@ -439,7 +438,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@@ -453,7 +452,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -532,27 +531,30 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:unstable
docker push ${PUSHIMAGE}:unstable
docker push ${PUSHIMAGE}:${META_TAG}
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:${META_TAG}
done
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:unstable || :
${DELETEIMAGE}:latest || :
done
'''
}
@@ -571,69 +573,76 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-unstable
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-unstable
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-unstable
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-unstable
docker push ${MANIFESTIMAGE}:arm32v7-unstable
docker push ${MANIFESTIMAGE}:arm64v8-unstable
docker manifest push --purge ${MANIFESTIMAGE}:unstable || :
docker manifest create ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:amd64-unstable ${MANIFESTIMAGE}:arm32v7-unstable ${MANIFESTIMAGE}:arm64v8-unstable
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm32v7-unstable --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm64v8-unstable --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:unstable
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
done
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:unstable
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-unstable
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-unstable
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker push ${GITHUBIMAGE}:unstable
docker push ${GITHUBIMAGE}:${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-unstable
docker push ${GITHUBIMAGE}:arm64v8-unstable
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
done
for LEGACYIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
docker push ${LEGACYIMAGE}:amd64-${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker push ${LEGACYIMAGE}:latest
docker push ${LEGACYIMAGE}:${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-latest
docker push ${LEGACYIMAGE}:arm64v8-latest
done
'''
sh '''#! /bin/bash
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-unstable \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-unstable \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-unstable || :
${DELETEIMAGE}:arm64v8-latest || :
done
docker rmi \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
@@ -645,7 +654,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "unstable"
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -657,17 +666,17 @@ pipeline {
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}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\
"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 '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "unstable",\
"target_commitish": "master",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
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'''
}
@@ -688,10 +697,6 @@ pipeline {
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull lsiodev/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
@@ -699,9 +704,7 @@ pipeline {
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
lsiodev/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
lsiodev/readme-sync bash -c 'node sync' '''
}
}
}
@@ -728,12 +731,12 @@ pipeline {
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}

View File

@@ -1,13 +1,14 @@
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Podcast](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Podcast)](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Supporters&logo=open%20collective&logoColor=FFFFFF)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
* regular and timely application updates
* easy user mappings (PGID, PUID)
@@ -21,19 +22,21 @@ Find us at:
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-qbittorrent/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/Linuxserver.io/docker-qbittorrent/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-qbittorrent%2Fjob%2Funstable%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Flsio-ci.ams3.digitaloceanspaces.com%2Flinuxserver%2Fqbittorrent%2Flatest%2Fci-status.yml)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/index.html)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-qbittorrent.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-qbittorrent)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-qbittorrent.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-qbittorrent/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub%20Package&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-qbittorrent/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab&logoColor=FFFFFF)](https://gitlab.com/Linuxserver.io/docker-qbittorrent/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/qbittorrent)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/qbittorrent.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/qbittorrent.svg?style=flat-square&color=E68523&label=pulls&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/qbittorrent.svg?style=flat-square&color=E68523&label=stars&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/index.html)
The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library.
@@ -53,14 +56,6 @@ The architectures supported by this image are:
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## Version Tags
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
| Tag | Description |
| :----: | --- |
| latest | Stable qbittorrent releases |
| unstable | Unstable qbittorrent releases |
## Usage
@@ -92,7 +87,7 @@ Compatible with docker-compose v2 schemas.
```
---
version: "2.1"
version: "2"
services:
qbittorrent:
image: linuxserver/qbittorrent
@@ -130,23 +125,6 @@ Container images are configured using parameters passed at runtime (such as thos
| `-v /config` | Contains all relevant configuration files. |
| `-v /downloads` | Location of downloads on disk. |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
## Umask for running applications
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
@@ -188,11 +166,6 @@ WebUI\ServerDomains=*
```
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=mods&query=%24.mods%5B%27qbittorrent%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=qbittorrent "view available mods for this container.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) can be accessed via the dynamic badge above.
## Support Info
@@ -258,8 +231,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **05.07.20:** - Shift to Python3
* **31.10.19:** - Adding unstable tag.
* **02.08.19:** - Add qbitorrent-cli for processing scripts.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.

View File

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

View File

@@ -1,26 +1,26 @@
adduser3.116ubuntu1
apt1.6.12ubuntu0.1
apt-utils1.6.12ubuntu0.1
base-files10.1ubuntu2.10
apt1.6.12
apt-utils1.6.12
base-files10.1ubuntu2.7
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
bsdutils1:2.31.1-0.4ubuntu3.6
bsdutils1:2.31.1-0.4ubuntu3.4
bzip21.0.6-8.1ubuntu0.2
ca-certificates20190110~18.04.1
ca-certificates20180409
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.10
curl7.58.0-2ubuntu3.8
dash0.5.8-2.10
dbus1.12.2-1ubuntu1.2
dbus1.12.2-1ubuntu1.1
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.6
file1:5.32-2ubuntu0.4
e2fsprogs1.44.1-1ubuntu1.2
fdisk2.31.1-0.4ubuntu3.4
file1:5.32-2ubuntu0.3
findutils4.6.0+git+20170828-2
gcc-8-base8.4.0-1ubuntu1~18.04
gcc-8-base8.3.0-6ubuntu1~18.04.1
geoip-bin1.6.12-1
geoip-database20180315-1
gnupg2.2.4-1ubuntu1.2
@@ -40,36 +40,36 @@ init-system-helpers1.51
krb5-locales1.16-2ubuntu0.1
libacl12.2.52-3build1
libapparmor12.12-4ubuntu5.1
libapt-inst2.01.6.12ubuntu0.1
libapt-pkg5.01.6.12ubuntu0.1
libapt-inst2.01.6.12
libapt-pkg5.01.6.12
libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1
libblkid12.31.1-0.4ubuntu3.6
libblkid12.31.1-0.4ubuntu3.4
libboost-system1.65.11.65.1+dfsg-0ubuntu5
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1.2
libc62.27-3ubuntu1
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1.2
libcom-err21.44.1-1ubuntu1.3
libcurl47.58.0-2ubuntu3.10
libc-bin2.27-3ubuntu1
libcom-err21.44.1-1ubuntu1.2
libcurl47.58.0-2ubuntu3.8
libdb5.35.3.28-13.1ubuntu1.1
libdbus-1-31.12.2-1ubuntu1.2
libdbus-1-31.12.2-1ubuntu1.1
libdebconfclient00.213ubuntu1
libdouble-conversion12.0.1-4ubuntu1
libexpat12.2.5-3ubuntu0.2
libext2fs21.44.1-1ubuntu1.3
libfdisk12.31.1-0.4ubuntu3.6
libext2fs21.44.1-1ubuntu1.2
libfdisk12.31.1-0.4ubuntu3.4
libffi63.2.1-8
libgcc11:8.4.0-1ubuntu1~18.04
libgcrypt201.8.1-4ubuntu1.2
libgcc11:8.3.0-6ubuntu1~18.04.1
libgcrypt201.8.1-4ubuntu1.1
libgeoip11.6.12-1
libglib2.0-02.56.4-0ubuntu0.18.04.6
libglib2.0-data2.56.4-0ubuntu0.18.04.6
libglib2.0-02.56.4-0ubuntu0.18.04.4
libglib2.0-data2.56.4-0ubuntu0.18.04.4
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.4
libgnutls303.5.18-1ubuntu1.1
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.1
@@ -78,7 +78,7 @@ libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libicu6060.2-3ubuntu3.1
libicu6060.2-3ubuntu3
libidn2-02.0.4-1.1ubuntu0.2
libk5crypto31.16-2ubuntu0.1
libkeyutils11.5.9-9.2ubuntu2
@@ -86,70 +86,69 @@ libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.6
libldap-common2.4.45+dfsg-1ubuntu1.6
libldap-2.4-22.4.45+dfsg-1ubuntu1.4
libldap-common2.4.45+dfsg-1ubuntu1.4
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmagic11:5.32-2ubuntu0.4
libmagic-mgc1:5.32-2ubuntu0.4
libmount12.31.1-0.4ubuntu3.6
libmpdec22.4.2-1ubuntu1
libmagic11:5.32-2ubuntu0.3
libmagic-mgc1:5.32-2ubuntu0.3
libmount12.31.1-0.4ubuntu3.4
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.2
libpam-modules1.1.8-3.6ubuntu2.18.04.2
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
libpam-runtime1.1.8-3.6ubuntu2.18.04.2
libpam0g1.1.8-3.6ubuntu2.18.04.1
libpam-modules1.1.8-3.6ubuntu2.18.04.1
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.1
libpam-runtime1.1.8-3.6ubuntu2.18.04.1
libpcre32:8.39-9
libprocps62:3.3.12-3ubuntu1.2
libpsl50.19.1-5build1
libpython3.6-minimal3.6.9-1~18.04ubuntu1.1
libpython3.6-stdlib3.6.9-1~18.04ubuntu1.1
libpython3-stdlib3.6.7-1~18.04
libqt5core5a5.9.5+dfsg-0ubuntu2.5
libqt5dbus55.9.5+dfsg-0ubuntu2.5
libqt5network55.9.5+dfsg-0ubuntu2.5
libqt5xml55.9.5+dfsg-0ubuntu2.5
libpython2.7-minimal2.7.15-4ubuntu4~18.04.2
libpython2.7-stdlib2.7.15-4ubuntu4~18.04.2
libpython-stdlib2.7.15~rc1-1
libqt5core5a5.9.5+dfsg-0ubuntu2.3
libqt5dbus55.9.5+dfsg-0ubuntu2.3
libqt5network55.9.5+dfsg-0ubuntu2.3
libqt5xml55.9.5+dfsg-0ubuntu2.3
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1
libseccomp22.4.3-1ubuntu3.18.04.3
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
libseccomp22.4.1-0ubuntu0.18.04.2
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.6
libsqlite3-03.22.0-1ubuntu0.4
libss21.44.1-1ubuntu1.3
libsmartcols12.31.1-0.4ubuntu3.4
libsqlite3-03.22.0-1ubuntu0.1
libss21.44.1-1ubuntu1.2
libssl1.0.01.0.2n-1ubuntu5.3
libssl1.11.1.1-1ubuntu2.1~18.04.6
libstdc++68.4.0-1ubuntu1~18.04
libsystemd0237-3ubuntu10.42
libssl1.11.1.1-1ubuntu2.1~18.04.4
libstdc++68.3.0-6ubuntu1~18.04.1
libsystemd0237-3ubuntu10.31
libtasn1-64.13-2
libtinfo56.1-1ubuntu1.18.04
libtorrent-rasterbar101.2.6+git20200425.a9968916ca-1ppa1~18.04
libudev1237-3ubuntu10.42
libtorrent-rasterbar91.1.13+git20191027.909211888e+patched-configure-1ppa1~18.04
libudev1237-3ubuntu10.31
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.6
libuuid12.31.1-0.4ubuntu3.4
libwind0-heimdal7.5.0+dfsg-1
libxml22.9.4+dfsg1-6.1ubuntu1.3
libxml22.9.4+dfsg1-6.1ubuntu1.2
libzstd11.3.3+dfsg-2ubuntu1.1
locales2.27-3ubuntu1.2
locales2.27-3ubuntu1
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.6
mount2.31.1-0.4ubuntu3.4
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.6
openssl1.1.1-1ubuntu2.1~18.04.4
p7zip16.02+dfsg-6
p7zip-full16.02+dfsg-6
passwd1:4.5-1ubuntu2
@@ -157,12 +156,12 @@ perl-base5.26.1-6ubuntu0.3
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
python33.6.7-1~18.04
python3.63.6.9-1~18.04ubuntu1.1
python3.6-minimal3.6.9-1~18.04ubuntu1.1
python3-minimal3.6.7-1~18.04
qbittorrent-cli1.5.19350-1
qbittorrent-nox4.3.0~202009130532-7053-8d57a6527~ubuntu18.04.1
python2.7.15~rc1-1
python2.72.7.15-4ubuntu4~18.04.2
python2.7-minimal2.7.15-4ubuntu4~18.04.2
python-minimal2.7.15~rc1-1
qbittorrent-cli1.5.19237-1
qbittorrent-nox4.1.9.99~201911020617-6737-5d98721~ubuntu18.04.1
qttranslations5-l10n5.9.5-0ubuntu1
readline-common7.0-3
sed4.4-2
@@ -170,11 +169,11 @@ sensible-utils0.0.12
shared-mime-info1.9-2
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2020a-0ubuntu0.18.04
tzdata2019c-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
unrar1:5.5.8-1
unzip6.0-21ubuntu1
util-linux2.31.1-0.4ubuntu3.6
util-linux2.31.1-0.4ubuntu3.4
xdg-user-dirs0.17-1ubuntu1
xz-utils5.2.2-1.3
zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@@ -13,12 +13,6 @@ available_architectures:
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable qbittorrent releases" }
- { tag: "unstable", desc: "Unstable qbittorrent releases" }
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
@@ -69,8 +63,6 @@ app_setup_block: |
# changelog
changelogs:
- { date: "05.07.20:", desc: "Shift to Python3" }
- { date: "31.10.19:", desc: "Adding unstable tag." }
- { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." }
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }