Compare commits
15 Commits
unstable-4
...
14.2.0.992
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
884270d998 | ||
|
|
8fcc3fb181 | ||
|
|
1e38561692 | ||
|
|
db829a8a40 | ||
|
|
5d2bcceef4 | ||
|
|
ddb0bea2aa | ||
|
|
450d6b60ec | ||
|
|
2421611e80 | ||
|
|
804a0a417c | ||
|
|
12c6b8b45d | ||
|
|
8f57215fc9 | ||
|
|
9f36ab0e69 | ||
|
|
3eb0345870 | ||
|
|
00249991fd | ||
|
|
9989d4583d |
166
Jenkinsfile
vendored
166
Jenkinsfile
vendored
@@ -14,6 +14,8 @@ pipeline {
|
|||||||
environment {
|
environment {
|
||||||
BUILDS_DISCORD=credentials('build_webhook_url')
|
BUILDS_DISCORD=credentials('build_webhook_url')
|
||||||
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_NAMESPACE=credentials('gitlab-namespace-id')
|
||||||
CONTAINER_NAME = 'qbittorrent'
|
CONTAINER_NAME = 'qbittorrent'
|
||||||
BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
||||||
LS_USER = 'linuxserver'
|
LS_USER = 'linuxserver'
|
||||||
@@ -126,6 +128,9 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
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') {
|
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 {
|
||||||
@@ -144,6 +149,9 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
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') {
|
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 {
|
||||||
@@ -162,6 +170,9 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
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') {
|
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 {
|
||||||
@@ -269,6 +280,26 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* #######################
|
||||||
|
GitLab Mirroring
|
||||||
|
####################### */
|
||||||
|
// Ping into Gitlab to mirror this repo and have a registry endpoint
|
||||||
|
stage("GitLab Mirror"){
|
||||||
|
when {
|
||||||
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
|
}
|
||||||
|
steps{
|
||||||
|
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
|
||||||
|
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
|
||||||
|
"name":"'${LS_REPO}'",
|
||||||
|
"mirror":true,\
|
||||||
|
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
|
||||||
|
"issues_access_level":"disabled",\
|
||||||
|
"merge_requests_access_level":"disabled",\
|
||||||
|
"repository_access_level":"enabled",\
|
||||||
|
"visibility":"public"}' '''
|
||||||
|
}
|
||||||
|
}
|
||||||
/* ###############
|
/* ###############
|
||||||
Build Container
|
Build Container
|
||||||
############### */
|
############### */
|
||||||
@@ -500,19 +531,32 @@ 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'
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
echo 'Logging into DockerHub'
|
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
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}:latest || :
|
||||||
|
done
|
||||||
'''
|
'''
|
||||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
|
||||||
sh "docker push ${IMAGE}:latest"
|
|
||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
|
||||||
sh '''docker rmi \
|
|
||||||
${IMAGE}:${META_TAG} \
|
|
||||||
${IMAGE}:latest || :'''
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -529,46 +573,81 @@ 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'
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
set -e
|
||||||
'''
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
sh '''#! /bin/bash
|
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
|
if [ "${CI}" == "false" ]; then
|
||||||
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull lsiodev/buildcache:arm64v8-${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:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi'''
|
fi
|
||||||
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
|
||||||
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
||||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
||||||
sh "docker push ${IMAGE}:amd64-latest"
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
sh "docker push ${IMAGE}:arm32v7-latest"
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
sh "docker push ${IMAGE}:arm64v8-latest"
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
docker push ${MANIFESTIMAGE}:amd64-latest
|
||||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
|
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
||||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||||
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest"
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
sh '''docker rmi \
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
||||||
${IMAGE}:amd64-${META_TAG} \
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
|
||||||
${IMAGE}:amd64-latest \
|
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||||
${IMAGE}:arm32v7-${META_TAG} \
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
${IMAGE}:arm32v7-latest \
|
done
|
||||||
${IMAGE}:arm64v8-${META_TAG} \
|
for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
${IMAGE}:arm64v8-latest \
|
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-latest \
|
||||||
|
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||||
|
${DELETEIMAGE}:arm32v7-latest \
|
||||||
|
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||||
|
${DELETEIMAGE}:arm64v8-latest || :
|
||||||
|
done
|
||||||
|
docker rmi \
|
||||||
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -652,16 +731,19 @@ pipeline {
|
|||||||
sh 'echo "build aborted"'
|
sh 'echo "build aborted"'
|
||||||
}
|
}
|
||||||
else if (currentBuild.currentResult == "SUCCESS"){
|
else if (currentBuild.currentResult == "SUCCESS"){
|
||||||
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
|
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,\
|
||||||
"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"}],\
|
"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} '''
|
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
|
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,\
|
||||||
"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"}],\
|
"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} '''
|
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cleanup {
|
||||||
|
cleanWs()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
38
README.md
38
README.md
@@ -4,8 +4,8 @@
|
|||||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||||
[](https://discourse.linuxserver.io "post on our community forum.")
|
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||||
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||||
[](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
|
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
[](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 :-
|
||||||
|
|
||||||
@@ -20,15 +20,19 @@ Find us at:
|
|||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||||
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
* [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.
|
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
||||||
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
* [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)
|
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
|
||||||
[](https://github.com/linuxserver/docker-qbittorrent/releases)
|
|
||||||
|
[](https://github.com/linuxserver/docker-qbittorrent)
|
||||||
|
[](https://github.com/linuxserver/docker-qbittorrent/releases)
|
||||||
|
[](https://github.com/linuxserver/docker-qbittorrent/packages)
|
||||||
|
[](https://gitlab.com/Linuxserver.io/docker-qbittorrent/container_registry)
|
||||||
|
[](https://quay.io/repository/linuxserver.io/qbittorrent)
|
||||||
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
|
||||||
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
|
[](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/)
|
||||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/index.html)
|
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/index.html)
|
||||||
|
|
||||||
@@ -50,6 +54,14 @@ The architectures supported by this image are:
|
|||||||
| arm64 | arm64v8-latest |
|
| arm64 | arm64v8-latest |
|
||||||
| armhf | arm32v7-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
|
## Usage
|
||||||
|
|
||||||
@@ -119,6 +131,18 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-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. |
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
## User / Group Identifiers
|
## 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`.
|
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`.
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ debianutils4.8.4
|
|||||||
diffutils1:3.6-1
|
diffutils1:3.6-1
|
||||||
dirmngr2.2.4-1ubuntu1.2
|
dirmngr2.2.4-1ubuntu1.2
|
||||||
dpkg1.19.0.5ubuntu2.3
|
dpkg1.19.0.5ubuntu2.3
|
||||||
e2fsprogs1.44.1-1ubuntu1.2
|
e2fsprogs1.44.1-1ubuntu1.3
|
||||||
fdisk2.31.1-0.4ubuntu3.4
|
fdisk2.31.1-0.4ubuntu3.4
|
||||||
file1:5.32-2ubuntu0.2
|
file1:5.32-2ubuntu0.3
|
||||||
findutils4.6.0+git+20170828-2
|
findutils4.6.0+git+20170828-2
|
||||||
gcc-8-base8.3.0-6ubuntu1~18.04.1
|
gcc-8-base8.3.0-6ubuntu1~18.04.1
|
||||||
geoip-bin1.6.12-1
|
geoip-bin1.6.12-1
|
||||||
@@ -53,23 +53,23 @@ libbz2-1.01.0.6-8.1ubuntu0.2
|
|||||||
libc62.27-3ubuntu1
|
libc62.27-3ubuntu1
|
||||||
libcap-ng00.7.7-3.1
|
libcap-ng00.7.7-3.1
|
||||||
libc-bin2.27-3ubuntu1
|
libc-bin2.27-3ubuntu1
|
||||||
libcom-err21.44.1-1ubuntu1.2
|
libcom-err21.44.1-1ubuntu1.3
|
||||||
libcurl47.58.0-2ubuntu3.8
|
libcurl47.58.0-2ubuntu3.8
|
||||||
libdb5.35.3.28-13.1ubuntu1.1
|
libdb5.35.3.28-13.1ubuntu1.1
|
||||||
libdbus-1-31.12.2-1ubuntu1.1
|
libdbus-1-31.12.2-1ubuntu1.1
|
||||||
libdebconfclient00.213ubuntu1
|
libdebconfclient00.213ubuntu1
|
||||||
libdouble-conversion12.0.1-4ubuntu1
|
libdouble-conversion12.0.1-4ubuntu1
|
||||||
libexpat12.2.5-3ubuntu0.2
|
libexpat12.2.5-3ubuntu0.2
|
||||||
libext2fs21.44.1-1ubuntu1.2
|
libext2fs21.44.1-1ubuntu1.3
|
||||||
libfdisk12.31.1-0.4ubuntu3.4
|
libfdisk12.31.1-0.4ubuntu3.4
|
||||||
libffi63.2.1-8
|
libffi63.2.1-8
|
||||||
libgcc11:8.3.0-6ubuntu1~18.04.1
|
libgcc11:8.3.0-6ubuntu1~18.04.1
|
||||||
libgcrypt201.8.1-4ubuntu1.1
|
libgcrypt201.8.1-4ubuntu1.2
|
||||||
libgeoip11.6.12-1
|
libgeoip11.6.12-1
|
||||||
libglib2.0-02.56.4-0ubuntu0.18.04.4
|
libglib2.0-02.56.4-0ubuntu0.18.04.4
|
||||||
libglib2.0-data2.56.4-0ubuntu0.18.04.4
|
libglib2.0-data2.56.4-0ubuntu0.18.04.4
|
||||||
libgmp102:6.1.2+dfsg-2
|
libgmp102:6.1.2+dfsg-2
|
||||||
libgnutls303.5.18-1ubuntu1.1
|
libgnutls303.5.18-1ubuntu1.3
|
||||||
libgpg-error01.27-6
|
libgpg-error01.27-6
|
||||||
libgssapi3-heimdal7.5.0+dfsg-1
|
libgssapi3-heimdal7.5.0+dfsg-1
|
||||||
libgssapi-krb5-21.16-2ubuntu0.1
|
libgssapi-krb5-21.16-2ubuntu0.1
|
||||||
@@ -79,7 +79,7 @@ libheimntlm0-heimdal7.5.0+dfsg-1
|
|||||||
libhogweed43.4-1
|
libhogweed43.4-1
|
||||||
libhx509-5-heimdal7.5.0+dfsg-1
|
libhx509-5-heimdal7.5.0+dfsg-1
|
||||||
libicu6060.2-3ubuntu3
|
libicu6060.2-3ubuntu3
|
||||||
libidn2-02.0.4-1.1build2
|
libidn2-02.0.4-1.1ubuntu0.2
|
||||||
libk5crypto31.16-2ubuntu0.1
|
libk5crypto31.16-2ubuntu0.1
|
||||||
libkeyutils11.5.9-9.2ubuntu2
|
libkeyutils11.5.9-9.2ubuntu2
|
||||||
libkrb5-26-heimdal7.5.0+dfsg-1
|
libkrb5-26-heimdal7.5.0+dfsg-1
|
||||||
@@ -90,8 +90,8 @@ libldap-2.4-22.4.45+dfsg-1ubuntu1.4
|
|||||||
libldap-common2.4.45+dfsg-1ubuntu1.4
|
libldap-common2.4.45+dfsg-1ubuntu1.4
|
||||||
liblz4-10.0~r131-2ubuntu3
|
liblz4-10.0~r131-2ubuntu3
|
||||||
liblzma55.2.2-1.3
|
liblzma55.2.2-1.3
|
||||||
libmagic11:5.32-2ubuntu0.2
|
libmagic11:5.32-2ubuntu0.3
|
||||||
libmagic-mgc1:5.32-2ubuntu0.2
|
libmagic-mgc1:5.32-2ubuntu0.3
|
||||||
libmount12.31.1-0.4ubuntu3.4
|
libmount12.31.1-0.4ubuntu3.4
|
||||||
libncurses56.1-1ubuntu1.18.04
|
libncurses56.1-1ubuntu1.18.04
|
||||||
libncursesw56.1-1ubuntu1.18.04
|
libncursesw56.1-1ubuntu1.18.04
|
||||||
@@ -106,35 +106,35 @@ libpam-runtime1.1.8-3.6ubuntu2.18.04.1
|
|||||||
libpcre32:8.39-9
|
libpcre32:8.39-9
|
||||||
libprocps62:3.3.12-3ubuntu1.2
|
libprocps62:3.3.12-3ubuntu1.2
|
||||||
libpsl50.19.1-5build1
|
libpsl50.19.1-5build1
|
||||||
libpython2.7-minimal2.7.15-4ubuntu4~18.04.2
|
libpython2.7-minimal2.7.17-1~18.04
|
||||||
libpython2.7-stdlib2.7.15-4ubuntu4~18.04.2
|
libpython2.7-stdlib2.7.17-1~18.04
|
||||||
libpython-stdlib2.7.15~rc1-1
|
libpython-stdlib2.7.15~rc1-1
|
||||||
libqt5core5a5.9.5+dfsg-0ubuntu2.3
|
libqt5core5a5.9.5+dfsg-0ubuntu2.4
|
||||||
libqt5dbus55.9.5+dfsg-0ubuntu2.3
|
libqt5dbus55.9.5+dfsg-0ubuntu2.4
|
||||||
libqt5network55.9.5+dfsg-0ubuntu2.3
|
libqt5network55.9.5+dfsg-0ubuntu2.4
|
||||||
libqt5xml55.9.5+dfsg-0ubuntu2.3
|
libqt5xml55.9.5+dfsg-0ubuntu2.4
|
||||||
libreadline77.0-3
|
libreadline77.0-3
|
||||||
libroken18-heimdal7.5.0+dfsg-1
|
libroken18-heimdal7.5.0+dfsg-1
|
||||||
librtmp12.4+20151223.gitfa8646d.1-1
|
librtmp12.4+20151223.gitfa8646d.1-1
|
||||||
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2
|
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
|
||||||
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
|
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1
|
||||||
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
|
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1
|
||||||
libseccomp22.4.1-0ubuntu0.18.04.2
|
libseccomp22.4.1-0ubuntu0.18.04.2
|
||||||
libselinux12.7-2build2
|
libselinux12.7-2build2
|
||||||
libsemanage12.7-2build2
|
libsemanage12.7-2build2
|
||||||
libsemanage-common2.7-2build2
|
libsemanage-common2.7-2build2
|
||||||
libsepol12.7-1
|
libsepol12.7-1
|
||||||
libsmartcols12.31.1-0.4ubuntu3.4
|
libsmartcols12.31.1-0.4ubuntu3.4
|
||||||
libsqlite3-03.22.0-1ubuntu0.1
|
libsqlite3-03.22.0-1ubuntu0.2
|
||||||
libss21.44.1-1ubuntu1.2
|
libss21.44.1-1ubuntu1.3
|
||||||
libssl1.0.01.0.2n-1ubuntu5.3
|
libssl1.0.01.0.2n-1ubuntu5.3
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.4
|
libssl1.11.1.1-1ubuntu2.1~18.04.5
|
||||||
libstdc++68.3.0-6ubuntu1~18.04.1
|
libstdc++68.3.0-6ubuntu1~18.04.1
|
||||||
libsystemd0237-3ubuntu10.31
|
libsystemd0237-3ubuntu10.33
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libtorrent-rasterbar91.1.13+git20191027.909211888e+patched-configure-1ppa1~18.04
|
libtorrent-rasterbar101.2.3+git20191216.68196dceae-1ppa1~18.04
|
||||||
libudev1237-3ubuntu10.31
|
libudev1237-3ubuntu10.33
|
||||||
libunistring20.9.9-0ubuntu2
|
libunistring20.9.9-0ubuntu2
|
||||||
libuuid12.31.1-0.4ubuntu3.4
|
libuuid12.31.1-0.4ubuntu3.4
|
||||||
libwind0-heimdal7.5.0+dfsg-1
|
libwind0-heimdal7.5.0+dfsg-1
|
||||||
@@ -148,7 +148,7 @@ mime-support3.60ubuntu1
|
|||||||
mount2.31.1-0.4ubuntu3.4
|
mount2.31.1-0.4ubuntu3.4
|
||||||
ncurses-base6.1-1ubuntu1.18.04
|
ncurses-base6.1-1ubuntu1.18.04
|
||||||
ncurses-bin6.1-1ubuntu1.18.04
|
ncurses-bin6.1-1ubuntu1.18.04
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.4
|
openssl1.1.1-1ubuntu2.1~18.04.5
|
||||||
p7zip16.02+dfsg-6
|
p7zip16.02+dfsg-6
|
||||||
p7zip-full16.02+dfsg-6
|
p7zip-full16.02+dfsg-6
|
||||||
passwd1:4.5-1ubuntu2
|
passwd1:4.5-1ubuntu2
|
||||||
@@ -157,11 +157,11 @@ pinentry-curses1.1.0-1
|
|||||||
procps2:3.3.12-3ubuntu1.2
|
procps2:3.3.12-3ubuntu1.2
|
||||||
publicsuffix20180223.1310-1
|
publicsuffix20180223.1310-1
|
||||||
python2.7.15~rc1-1
|
python2.7.15~rc1-1
|
||||||
python2.72.7.15-4ubuntu4~18.04.2
|
python2.72.7.17-1~18.04
|
||||||
python2.7-minimal2.7.15-4ubuntu4~18.04.2
|
python2.7-minimal2.7.17-1~18.04
|
||||||
python-minimal2.7.15~rc1-1
|
python-minimal2.7.15~rc1-1
|
||||||
qbittorrent-cli1.5.19237-1
|
qbittorrent-cli1.5.19350-1
|
||||||
qbittorrent-nox4.1.9.99~201910280138-6733-7825d86~ubuntu18.04.1
|
qbittorrent-nox1:4.2.0.99~201912180418-6819-118af03~ubuntu18.04.1
|
||||||
qttranslations5-l10n5.9.5-0ubuntu1
|
qttranslations5-l10n5.9.5-0ubuntu1
|
||||||
readline-common7.0-3
|
readline-common7.0-3
|
||||||
sed4.4-2
|
sed4.4-2
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ available_architectures:
|
|||||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-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
|
# container parameters
|
||||||
common_param_env_vars_enabled: true
|
common_param_env_vars_enabled: true
|
||||||
param_container_name: "{{ project_name }}"
|
param_container_name: "{{ project_name }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user