Compare commits
20 Commits
14.3.8.992
...
14.3.9.992
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc82fbd112 | ||
|
|
6ff254fa94 | ||
|
|
161be85ba4 | ||
|
|
ab5459e94a | ||
|
|
8eedd9fc6b | ||
|
|
52f71c421d | ||
|
|
3864769098 | ||
|
|
3959ef3929 | ||
|
|
d0bd08d681 | ||
|
|
31fd25b76e | ||
|
|
f602e3f3de | ||
|
|
404387d1bf | ||
|
|
b43a38d223 | ||
|
|
7a5e9ce7a8 | ||
|
|
9a9a5ace5f | ||
|
|
0e9d1cd2a7 | ||
|
|
388c14d39f | ||
|
|
05353a4ffa | ||
|
|
f403791b9b | ||
|
|
8957575e62 |
116
Jenkinsfile
vendored
116
Jenkinsfile
vendored
@@ -16,6 +16,7 @@ pipeline {
|
|||||||
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
||||||
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
||||||
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
||||||
|
SCARF_TOKEN=credentials('scarf_api_key')
|
||||||
CONTAINER_NAME = 'qbittorrent'
|
CONTAINER_NAME = 'qbittorrent'
|
||||||
BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
||||||
LS_USER = 'linuxserver'
|
LS_USER = 'linuxserver'
|
||||||
@@ -116,6 +117,30 @@ pipeline {
|
|||||||
env.EXT_RELEASE_CLEAN = sh(
|
env.EXT_RELEASE_CLEAN = sh(
|
||||||
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
|
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
|
||||||
|
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
|
||||||
|
if (semver.find()) {
|
||||||
|
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
||||||
|
} else {
|
||||||
|
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)/
|
||||||
|
if (semver.find()) {
|
||||||
|
if (semver[0][3]) {
|
||||||
|
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
||||||
|
} else if (!semver[0][3] && !semver[0][4]) {
|
||||||
|
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${(new Date()).format('YYYYMMdd')}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (env.SEMVER != null) {
|
||||||
|
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
|
||||||
|
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
|
||||||
|
}
|
||||||
|
println("SEMVER: ${env.SEMVER}")
|
||||||
|
} else {
|
||||||
|
println("No SEMVER detected")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,6 +155,7 @@ pipeline {
|
|||||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
env.IMAGE = env.DOCKERHUB_IMAGE
|
||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||||
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
} else {
|
} else {
|
||||||
@@ -152,6 +178,7 @@ pipeline {
|
|||||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
} else {
|
} else {
|
||||||
@@ -174,6 +201,7 @@ pipeline {
|
|||||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
} else {
|
} else {
|
||||||
@@ -369,6 +397,36 @@ pipeline {
|
|||||||
"visibility":"public"}' '''
|
"visibility":"public"}' '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* #######################
|
||||||
|
Scarf.sh package registry
|
||||||
|
####################### */
|
||||||
|
// Add package to Scarf.sh and set permissions
|
||||||
|
stage("Scarf.sh package registry"){
|
||||||
|
when {
|
||||||
|
branch "master"
|
||||||
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
|
}
|
||||||
|
steps{
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/qbittorrent") | .uuid')
|
||||||
|
if [ -z "${PACKAGE_UUID}" ]; then
|
||||||
|
echo "Adding package to Scarf.sh"
|
||||||
|
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
|
||||||
|
-H "Authorization: Bearer ${SCARF_TOKEN}" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"name":"linuxserver/qbittorrent",\
|
||||||
|
"shortDescription":"example description",\
|
||||||
|
"libraryType":"docker",\
|
||||||
|
"website":"https://github.com/linuxserver/docker-qbittorrent",\
|
||||||
|
"backendUrl":"https://ghcr.io/linuxserver/qbittorrent",\
|
||||||
|
"publicUrl":"https://lscr.io/linuxserver/qbittorrent"}' || :
|
||||||
|
else
|
||||||
|
echo "Package already exists on Scarf.sh"
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
/* ###############
|
/* ###############
|
||||||
Build Container
|
Build Container
|
||||||
############### */
|
############### */
|
||||||
@@ -376,7 +434,7 @@ pipeline {
|
|||||||
stage('Build-Single') {
|
stage('Build-Single') {
|
||||||
when {
|
when {
|
||||||
expression {
|
expression {
|
||||||
env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true'
|
env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true'
|
||||||
}
|
}
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@@ -670,6 +728,12 @@ pipeline {
|
|||||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||||
usernameVariable: 'DOCKERUSER',
|
usernameVariable: 'DOCKERUSER',
|
||||||
passwordVariable: 'DOCKERPASS'
|
passwordVariable: 'DOCKERPASS'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
$class: 'UsernamePasswordMultiBinding',
|
||||||
|
credentialsId: 'Quay.io-Robot',
|
||||||
|
usernameVariable: 'QUAYUSER',
|
||||||
|
passwordVariable: 'QUAYPASS'
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
retry(5) {
|
retry(5) {
|
||||||
@@ -678,22 +742,32 @@ pipeline {
|
|||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
|
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
||||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
docker push ${PUSHIMAGE}:latest
|
docker push ${PUSHIMAGE}:latest
|
||||||
docker push ${PUSHIMAGE}:${META_TAG}
|
docker push ${PUSHIMAGE}:${META_TAG}
|
||||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker push ${PUSHIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:${META_TAG} \
|
${DELETEIMAGE}:${META_TAG} \
|
||||||
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:latest || :
|
${DELETEIMAGE}:latest || :
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker rmi ${DELETEIMAGE}:${SEMVER} || :
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@@ -712,6 +786,12 @@ pipeline {
|
|||||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||||
usernameVariable: 'DOCKERUSER',
|
usernameVariable: 'DOCKERUSER',
|
||||||
passwordVariable: 'DOCKERPASS'
|
passwordVariable: 'DOCKERPASS'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
$class: 'UsernamePasswordMultiBinding',
|
||||||
|
credentialsId: 'Quay.io-Robot',
|
||||||
|
usernameVariable: 'QUAYUSER',
|
||||||
|
passwordVariable: 'QUAYPASS'
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
retry(5) {
|
retry(5) {
|
||||||
@@ -720,13 +800,14 @@ pipeline {
|
|||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
if [ "${CI}" == "false" ]; then
|
if [ "${CI}" == "false" ]; 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}
|
||||||
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi
|
fi
|
||||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}"; do
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
@@ -736,6 +817,11 @@ pipeline {
|
|||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
|
||||||
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
||||||
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
|
fi
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
@@ -745,6 +831,11 @@ pipeline {
|
|||||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
|
||||||
|
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
||||||
|
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
|
fi
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-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}:arm32v7-latest --os linux --arch arm
|
||||||
@@ -757,14 +848,23 @@ pipeline {
|
|||||||
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
|
||||||
|
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
|
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
|
||||||
|
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
|
||||||
|
fi
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||||
${DELETEIMAGE}:amd64-latest \
|
${DELETEIMAGE}:amd64-latest \
|
||||||
@@ -775,6 +875,12 @@ pipeline {
|
|||||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm64v8-latest \
|
${DELETEIMAGE}:arm64v8-latest \
|
||||||
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
||||||
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker rmi \
|
||||||
|
${DELETEIMAGE}:amd64-${SEMVER} \
|
||||||
|
${DELETEIMAGE}:arm32v7-${SEMVER} \
|
||||||
|
${DELETEIMAGE}:arm64v8-${SEMVER} || :
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
docker rmi \
|
docker rmi \
|
||||||
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -29,10 +29,12 @@ Find us at:
|
|||||||
|
|
||||||
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
|
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
|
||||||
|
|
||||||
|
[](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fqbittorrent)
|
||||||
[](https://github.com/linuxserver/docker-qbittorrent)
|
[](https://github.com/linuxserver/docker-qbittorrent)
|
||||||
[](https://github.com/linuxserver/docker-qbittorrent/releases)
|
[](https://github.com/linuxserver/docker-qbittorrent/releases)
|
||||||
[](https://github.com/linuxserver/docker-qbittorrent/packages)
|
[](https://github.com/linuxserver/docker-qbittorrent/packages)
|
||||||
[](https://gitlab.com/linuxserver.io/docker-qbittorrent/container_registry)
|
[](https://gitlab.com/linuxserver.io/docker-qbittorrent/container_registry)
|
||||||
|
[](https://quay.io/repository/linuxserver.io/qbittorrent)
|
||||||
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
||||||
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/)
|
||||||
@@ -46,7 +48,7 @@ The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-
|
|||||||
|
|
||||||
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `ghcr.io/linuxserver/qbittorrent` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `lscr.io/linuxserver/qbittorrent` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
The architectures supported by this image are:
|
The architectures supported by this image are:
|
||||||
|
|
||||||
@@ -63,7 +65,6 @@ This image provides various versions that are available via tags. `latest` tag u
|
|||||||
| Tag | Description |
|
| Tag | Description |
|
||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| latest | Stable qbittorrent releases |
|
| latest | Stable qbittorrent releases |
|
||||||
| unstable | Unstable qbittorrent releases |
|
|
||||||
|
|
||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
@@ -103,7 +104,7 @@ Here are some example snippets to help you get started creating a container.
|
|||||||
version: "2.1"
|
version: "2.1"
|
||||||
services:
|
services:
|
||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: ghcr.io/linuxserver/qbittorrent
|
image: lscr.io/linuxserver/qbittorrent
|
||||||
container_name: qbittorrent
|
container_name: qbittorrent
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
@@ -135,7 +136,7 @@ docker run -d \
|
|||||||
-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
|
lscr.io/linuxserver/qbittorrent
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
@@ -197,7 +198,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
|||||||
* container version number
|
* container version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' qbittorrent`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' qbittorrent`
|
||||||
* image version number
|
* image version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/qbittorrent`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/qbittorrent`
|
||||||
|
|
||||||
## Updating Info
|
## Updating Info
|
||||||
|
|
||||||
@@ -215,7 +216,7 @@ Below are the instructions for updating containers:
|
|||||||
|
|
||||||
### Via Docker Run
|
### Via Docker Run
|
||||||
|
|
||||||
* Update the image: `docker pull ghcr.io/linuxserver/qbittorrent`
|
* Update the image: `docker pull lscr.io/linuxserver/qbittorrent`
|
||||||
* Stop the running container: `docker stop qbittorrent`
|
* Stop the running container: `docker stop qbittorrent`
|
||||||
* Delete the container: `docker rm qbittorrent`
|
* Delete the container: `docker rm qbittorrent`
|
||||||
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
|
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
|
||||||
@@ -250,7 +251,7 @@ cd docker-qbittorrent
|
|||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
-t ghcr.io/linuxserver/qbittorrent:latest .
|
-t lscr.io/linuxserver/qbittorrent:latest .
|
||||||
```
|
```
|
||||||
|
|
||||||
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||||
@@ -263,6 +264,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **06.01.22:** - Deprecate unstable branch.
|
||||||
* **10.02.21:** - Rebase to focal.
|
* **10.02.21:** - Rebase to focal.
|
||||||
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
* **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
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ base-passwd3.5.47
|
|||||||
bash5.0-6ubuntu1.1
|
bash5.0-6ubuntu1.1
|
||||||
bsdutils1:2.34-0.1ubuntu9.1
|
bsdutils1:2.34-0.1ubuntu9.1
|
||||||
bzip21.0.8-2
|
bzip21.0.8-2
|
||||||
ca-certificates20210119~20.04.1
|
ca-certificates20210119~20.04.2
|
||||||
coreutils8.30-3ubuntu2
|
coreutils8.30-3ubuntu2
|
||||||
curl7.68.0-1ubuntu2.6
|
curl7.68.0-1ubuntu2.7
|
||||||
dash0.5.10.2-6
|
dash0.5.10.2-6
|
||||||
dbus1.12.16-2ubuntu2.1
|
dbus1.12.16-2ubuntu2.1
|
||||||
debconf1.5.73
|
debconf1.5.73
|
||||||
@@ -54,7 +54,7 @@ libcap-ng00.7.9-2.1build1
|
|||||||
libc-bin2.31-0ubuntu9.2
|
libc-bin2.31-0ubuntu9.2
|
||||||
libcom-err21.45.5-2ubuntu1
|
libcom-err21.45.5-2ubuntu1
|
||||||
libcrypt11:4.4.10-10ubuntu4
|
libcrypt11:4.4.10-10ubuntu4
|
||||||
libcurl47.68.0-1ubuntu2.6
|
libcurl47.68.0-1ubuntu2.7
|
||||||
libdb5.35.3.28+dfsg1-0.6ubuntu2
|
libdb5.35.3.28+dfsg1-0.6ubuntu2
|
||||||
libdbus-1-31.12.16-2ubuntu2.1
|
libdbus-1-31.12.16-2ubuntu2.1
|
||||||
libdebconfclient00.251ubuntu1
|
libdebconfclient00.251ubuntu1
|
||||||
@@ -64,7 +64,7 @@ libext2fs21.45.5-2ubuntu1
|
|||||||
libfdisk12.34-0.1ubuntu9.1
|
libfdisk12.34-0.1ubuntu9.1
|
||||||
libffi73.3-4
|
libffi73.3-4
|
||||||
libgcc-s110.3.0-1ubuntu1~20.04
|
libgcc-s110.3.0-1ubuntu1~20.04
|
||||||
libgcrypt201.8.5-5ubuntu1
|
libgcrypt201.8.5-5ubuntu1.1
|
||||||
libgdbm61.18.1-5
|
libgdbm61.18.1-5
|
||||||
libgdbm-compat41.18.1-5
|
libgdbm-compat41.18.1-5
|
||||||
libgeoip11.6.12-6build1
|
libgeoip11.6.12-6build1
|
||||||
@@ -80,7 +80,7 @@ libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
|
|||||||
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
|
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libhogweed53.5.1+really3.5.1-2ubuntu0.2
|
libhogweed53.5.1+really3.5.1-2ubuntu0.2
|
||||||
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
|
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libicu6666.1-2ubuntu2
|
libicu6666.1-2ubuntu2.1
|
||||||
libidn2-02.2.0-2
|
libidn2-02.2.0-2
|
||||||
libk5crypto31.17-6ubuntu4.1
|
libk5crypto31.17-6ubuntu4.1
|
||||||
libkeyutils11.6-6ubuntu1
|
libkeyutils11.6-6ubuntu1
|
||||||
@@ -103,30 +103,30 @@ libnettle73.5.1+really3.5.1-2ubuntu0.2
|
|||||||
libnghttp2-141.40.0-1build1
|
libnghttp2-141.40.0-1build1
|
||||||
libnpth01.6-1
|
libnpth01.6-1
|
||||||
libp11-kit00.23.20-1ubuntu0.1
|
libp11-kit00.23.20-1ubuntu0.1
|
||||||
libpam0g1.3.1-5ubuntu4.2
|
libpam0g1.3.1-5ubuntu4.3
|
||||||
libpam-modules1.3.1-5ubuntu4.2
|
libpam-modules1.3.1-5ubuntu4.3
|
||||||
libpam-modules-bin1.3.1-5ubuntu4.2
|
libpam-modules-bin1.3.1-5ubuntu4.3
|
||||||
libpam-runtime1.3.1-5ubuntu4.2
|
libpam-runtime1.3.1-5ubuntu4.3
|
||||||
libpcre2-16-010.34-7
|
libpcre2-16-010.34-7
|
||||||
libpcre2-8-010.34-7
|
libpcre2-8-010.34-7
|
||||||
libpcre32:8.39-12build1
|
libpcre32:8.39-12build1
|
||||||
libperl5.305.30.0-9ubuntu0.2
|
libperl5.305.30.0-9ubuntu0.2
|
||||||
libprocps82:3.3.16-1ubuntu2.2
|
libprocps82:3.3.16-1ubuntu2.3
|
||||||
libpsl50.21.0-1ubuntu1
|
libpsl50.21.0-1ubuntu1
|
||||||
libpython3.8-minimal3.8.10-0ubuntu1~20.04
|
libpython3.8-minimal3.8.10-0ubuntu1~20.04.2
|
||||||
libpython3.8-stdlib3.8.10-0ubuntu1~20.04
|
libpython3.8-stdlib3.8.10-0ubuntu1~20.04.2
|
||||||
libpython3-stdlib3.8.2-0ubuntu2
|
libpython3-stdlib3.8.2-0ubuntu2
|
||||||
libqt5core5a5.12.8+dfsg-0ubuntu1
|
libqt5core5a5.12.8+dfsg-0ubuntu2.1
|
||||||
libqt5dbus55.12.8+dfsg-0ubuntu1
|
libqt5dbus55.12.8+dfsg-0ubuntu2.1
|
||||||
libqt5network55.12.8+dfsg-0ubuntu1
|
libqt5network55.12.8+dfsg-0ubuntu2.1
|
||||||
libqt5xml55.12.8+dfsg-0ubuntu1
|
libqt5xml55.12.8+dfsg-0ubuntu2.1
|
||||||
libreadline88.0-4
|
libreadline88.0-4
|
||||||
libroken18-heimdal7.7.0+dfsg-1ubuntu1
|
libroken18-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
librtmp12.4+20151223.gitfa8646d.1-2build1
|
librtmp12.4+20151223.gitfa8646d.1-2build1
|
||||||
libsasl2-22.1.27+dfsg-2
|
libsasl2-22.1.27+dfsg-2
|
||||||
libsasl2-modules2.1.27+dfsg-2
|
libsasl2-modules2.1.27+dfsg-2
|
||||||
libsasl2-modules-db2.1.27+dfsg-2
|
libsasl2-modules-db2.1.27+dfsg-2
|
||||||
libseccomp22.5.1-1ubuntu1~20.04.1
|
libseccomp22.5.1-1ubuntu1~20.04.2
|
||||||
libselinux13.0-1build2
|
libselinux13.0-1build2
|
||||||
libsemanage13.0-1build2
|
libsemanage13.0-1build2
|
||||||
libsemanage-common3.0-1build2
|
libsemanage-common3.0-1build2
|
||||||
@@ -136,13 +136,13 @@ libsocket6-perl0.29-1build1
|
|||||||
libsqlite3-03.31.1-4ubuntu0.2
|
libsqlite3-03.31.1-4ubuntu0.2
|
||||||
libss21.45.5-2ubuntu1
|
libss21.45.5-2ubuntu1
|
||||||
libssh-40.9.3-2ubuntu2.2
|
libssh-40.9.3-2ubuntu2.2
|
||||||
libssl1.11.1.1f-1ubuntu2.8
|
libssl1.11.1.1f-1ubuntu2.10
|
||||||
libstdc++610.3.0-1ubuntu1~20.04
|
libstdc++610.3.0-1ubuntu1~20.04
|
||||||
libsystemd0245.4-4ubuntu3.11
|
libsystemd0245.4-4ubuntu3.13
|
||||||
libtasn1-64.16.0-2
|
libtasn1-64.16.0-2
|
||||||
libtinfo66.2-0ubuntu2
|
libtinfo66.2-0ubuntu2
|
||||||
libtorrent-rasterbar101.2.14+git20210829.1178e4e0f3-1ppa1~20.04
|
libtorrent-rasterbar101.2.14+git20211025.eb4bbfd49c-1ppa1~20.04
|
||||||
libudev1245.4-4ubuntu3.11
|
libudev1245.4-4ubuntu3.13
|
||||||
libunistring20.9.10-2
|
libunistring20.9.10-2
|
||||||
libuuid12.34-0.1ubuntu9.1
|
libuuid12.34-0.1ubuntu9.1
|
||||||
libwind0-heimdal7.7.0+dfsg-1ubuntu1
|
libwind0-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
@@ -158,7 +158,7 @@ mount2.34-0.1ubuntu9.1
|
|||||||
ncurses-base6.2-0ubuntu2
|
ncurses-base6.2-0ubuntu2
|
||||||
ncurses-bin6.2-0ubuntu2
|
ncurses-bin6.2-0ubuntu2
|
||||||
netbase6.1
|
netbase6.1
|
||||||
openssl1.1.1f-1ubuntu2.8
|
openssl1.1.1f-1ubuntu2.10
|
||||||
p7zip16.02+dfsg-7build1
|
p7zip16.02+dfsg-7build1
|
||||||
p7zip-full16.02+dfsg-7build1
|
p7zip-full16.02+dfsg-7build1
|
||||||
passwd1:4.8.1-1ubuntu5.20.04.1
|
passwd1:4.8.1-1ubuntu5.20.04.1
|
||||||
@@ -166,14 +166,14 @@ perl5.30.0-9ubuntu0.2
|
|||||||
perl-base5.30.0-9ubuntu0.2
|
perl-base5.30.0-9ubuntu0.2
|
||||||
perl-modules-5.305.30.0-9ubuntu0.2
|
perl-modules-5.305.30.0-9ubuntu0.2
|
||||||
pinentry-curses1.1.0-3build1
|
pinentry-curses1.1.0-3build1
|
||||||
procps2:3.3.16-1ubuntu2.2
|
procps2:3.3.16-1ubuntu2.3
|
||||||
publicsuffix20200303.0012-1
|
publicsuffix20200303.0012-1
|
||||||
python33.8.2-0ubuntu2
|
python33.8.2-0ubuntu2
|
||||||
python3.83.8.10-0ubuntu1~20.04
|
python3.83.8.10-0ubuntu1~20.04.2
|
||||||
python3.8-minimal3.8.10-0ubuntu1~20.04
|
python3.8-minimal3.8.10-0ubuntu1~20.04.2
|
||||||
python3-minimal3.8.2-0ubuntu2
|
python3-minimal3.8.2-0ubuntu2
|
||||||
qbittorrent-cli1.7.21116-1
|
qbittorrent-cli1.7.21116-1
|
||||||
qbittorrent-nox1:4.3.8.99~202108291924-7418-9392ce436~ubuntu20.04.1
|
qbittorrent-nox1:4.3.9.99~202110311443-7435-01519b5e7~ubuntu20.04.1
|
||||||
qttranslations5-l10n5.12.8-0ubuntu1
|
qttranslations5-l10n5.12.8-0ubuntu1
|
||||||
readline-common8.0-4
|
readline-common8.0-4
|
||||||
sed4.7-1
|
sed4.7-1
|
||||||
@@ -181,7 +181,7 @@ sensible-utils0.0.12+nmu1
|
|||||||
shared-mime-info1.15-1
|
shared-mime-info1.15-1
|
||||||
sysvinit-utils2.96-2.1ubuntu1
|
sysvinit-utils2.96-2.1ubuntu1
|
||||||
tar1.30+dfsg-7ubuntu0.20.04.1
|
tar1.30+dfsg-7ubuntu0.20.04.1
|
||||||
tzdata2021a-0ubuntu0.20.04
|
tzdata2021e-0ubuntu0.20.04
|
||||||
ubuntu-keyring2020.02.11.4
|
ubuntu-keyring2020.02.11.4
|
||||||
unrar1:5.6.6-2build1
|
unrar1:5.6.6-2build1
|
||||||
unzip6.0-25ubuntu1
|
unzip6.0-25ubuntu1
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ available_architectures:
|
|||||||
development_versions: true
|
development_versions: true
|
||||||
development_versions_items:
|
development_versions_items:
|
||||||
- { tag: "latest", desc: "Stable qbittorrent releases" }
|
- { tag: "latest", desc: "Stable qbittorrent releases" }
|
||||||
- { tag: "unstable", desc: "Unstable qbittorrent releases" }
|
|
||||||
|
|
||||||
# container parameters
|
# container parameters
|
||||||
common_param_env_vars_enabled: true
|
common_param_env_vars_enabled: true
|
||||||
@@ -70,6 +69,7 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "06.01.22:", desc: "Deprecate unstable branch." }
|
||||||
- { date: "10.02.21:", desc: "Rebase to focal." }
|
- { 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: "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" }
|
||||||
|
|||||||
Reference in New Issue
Block a user