Compare commits
29 Commits
4.1.5.9920
...
4.1.5.9920
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
316a7c2b7a | ||
|
|
b15a9996e1 | ||
|
|
c83ac257ed | ||
|
|
1343f346b6 | ||
|
|
d18a0e69a6 | ||
|
|
d7100476f8 | ||
|
|
713f1491fe | ||
|
|
966e50c4fa | ||
|
|
bb1c258fc4 | ||
|
|
727d11b3a0 | ||
|
|
fe1a54f91b | ||
|
|
56825832fd | ||
|
|
016cda48e9 | ||
|
|
805917e4e0 | ||
|
|
5f07a86010 | ||
|
|
21a06d9eef | ||
|
|
daa8beefdd | ||
|
|
cb329d3a85 | ||
|
|
77be1ca6cf | ||
|
|
bcd73afd27 | ||
|
|
faf69505b4 | ||
|
|
db8b30e52f | ||
|
|
dc4acd9a55 | ||
|
|
9887023480 | ||
|
|
45089190f9 | ||
|
|
6a8d7481af | ||
|
|
b392b4c2d0 | ||
|
|
3da3fb1f84 | ||
|
|
7b9796426a |
@@ -45,7 +45,6 @@ RUN \
|
|||||||
# add local files
|
# add local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 6881 6881/udp 8080
|
EXPOSE 6881 6881/udp 8080
|
||||||
VOLUME /config /downloads
|
VOLUME /config /downloads
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
FROM lsiobase/ubuntu.arm64:bionic
|
FROM lsiobase/ubuntu:arm64v8-bionic
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
|
||||||
COPY qemu-aarch64-static /usr/bin
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -48,7 +45,6 @@ RUN \
|
|||||||
# add local files
|
# add local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 6881 6881/udp 8080
|
EXPOSE 6881 6881/udp 8080
|
||||||
VOLUME /config /downloads
|
VOLUME /config /downloads
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
FROM lsiobase/ubuntu.armhf:bionic
|
FROM lsiobase/ubuntu:arm32v7-bionic
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
|
||||||
COPY qemu-arm-static /usr/bin
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -48,7 +45,6 @@ RUN \
|
|||||||
# add local files
|
# add local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 6881 6881/udp 8080
|
EXPOSE 6881 6881/udp 8080
|
||||||
VOLUME /config /downloads
|
VOLUME /config /downloads
|
||||||
|
|||||||
141
Jenkinsfile
vendored
141
Jenkinsfile
vendored
@@ -35,10 +35,10 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
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()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''git log -1 --pretty=%B | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
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' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.GITHUB_DATE = sh(
|
env.GITHUB_DATE = sh(
|
||||||
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
||||||
@@ -122,7 +122,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
env.IMAGE = env.DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v6-' + 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 {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v6-' + 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 {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
}
|
}
|
||||||
@@ -158,7 +158,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v6-' + 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 {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
}
|
}
|
||||||
@@ -168,6 +168,35 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Run ShellCheck
|
||||||
|
stage('ShellCheck') {
|
||||||
|
when {
|
||||||
|
environment name: 'CI', value: 'true'
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
withCredentials([
|
||||||
|
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
|
||||||
|
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
|
||||||
|
]) {
|
||||||
|
script{
|
||||||
|
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
|
||||||
|
}
|
||||||
|
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
docker pull lsiodev/spaces-file-upload:latest
|
||||||
|
docker run --rm \
|
||||||
|
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
|
||||||
|
-e FILE_NAME="shellcheck-result.xml" \
|
||||||
|
-e MIMETYPE="text/xml" \
|
||||||
|
-v ${WORKSPACE}:/mnt \
|
||||||
|
-e SECRET_KEY=\"${DO_SECRET}\" \
|
||||||
|
-e ACCESS_KEY=\"${DO_KEY}\" \
|
||||||
|
-t lsiodev/spaces-file-upload:latest \
|
||||||
|
python /upload.py'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
@@ -199,6 +228,15 @@ pipeline {
|
|||||||
else
|
else
|
||||||
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
fi
|
fi
|
||||||
|
mkdir -p ${TEMPDIR}/gitbook
|
||||||
|
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
||||||
|
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||||
|
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||||
|
cd ${TEMPDIR}/gitbook/docker-documentation/
|
||||||
|
git add images/docker-${CONTAINER_NAME}.md
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
||||||
|
fi
|
||||||
rm -Rf ${TEMPDIR}'''
|
rm -Rf ${TEMPDIR}'''
|
||||||
script{
|
script{
|
||||||
env.FILES_UPDATED = sh(
|
env.FILES_UPDATED = sh(
|
||||||
@@ -233,7 +271,7 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh "docker build --no-cache -t ${IMAGE}:${META_TAG} \
|
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -246,7 +284,7 @@ pipeline {
|
|||||||
parallel {
|
parallel {
|
||||||
stage('Build X86') {
|
stage('Build X86') {
|
||||||
steps {
|
steps {
|
||||||
sh "docker build --no-cache -t ${IMAGE}:amd64-${META_TAG} \
|
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,12 +305,13 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
|
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
|
||||||
sh "chmod +x qemu-*"
|
|
||||||
sh "docker build --no-cache -f Dockerfile.armhf -t ${IMAGE}:arm32v6-${META_TAG} \
|
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh "docker push lsiodev/buildcache:arm32v6-${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} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -293,12 +332,13 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
|
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
||||||
sh "chmod +x qemu-*"
|
|
||||||
sh "docker build --no-cache -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} ."
|
--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}"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
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} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -322,13 +362,13 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
apk info > packages && \
|
apk info -v > /tmp/package_versions.txt && \
|
||||||
apk info -v > versions && \
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
paste -d " " packages versions > /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
apt list -qq --installed > /tmp/package_versions.txt && \
|
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
|
||||||
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
fi
|
fi
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
@@ -408,9 +448,9 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
docker pull lsiodev/ci:latest
|
docker pull lsiodev/ci:latest
|
||||||
if [ "${MULTIARCH}" == "true" ]; then
|
if [ "${MULTIARCH}" == "true" ]; then
|
||||||
docker pull lsiodev/buildcache:arm32v6-${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:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${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
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
@@ -460,6 +500,10 @@ pipeline {
|
|||||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:latest"
|
sh "docker push ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
sh "docker push ${IMAGE}:${META_TAG}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:${META_TAG} \
|
||||||
|
${IMAGE}:latest || :'''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -483,30 +527,39 @@ pipeline {
|
|||||||
'''
|
'''
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
if [ "${CI}" == "false" ]; then
|
if [ "${CI}" == "false" ]; then
|
||||||
docker pull lsiodev/buildcache:arm32v6-${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:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${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"
|
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
||||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-latest"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm32v6-${META_TAG}"
|
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:amd64-latest"
|
sh "docker push ${IMAGE}:amd64-latest"
|
||||||
sh "docker push ${IMAGE}:arm32v6-latest"
|
sh "docker push ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker push ${IMAGE}:arm64v8-latest"
|
sh "docker push ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
||||||
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v6-latest ${IMAGE}:arm64v8-latest"
|
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v6-latest --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
||||||
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest"
|
sh "docker manifest push --purge ${IMAGE}:latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||||
|
sh '''docker rmi \
|
||||||
|
${IMAGE}:amd64-${META_TAG} \
|
||||||
|
${IMAGE}:amd64-latest \
|
||||||
|
${IMAGE}:arm32v7-${META_TAG} \
|
||||||
|
${IMAGE}:arm32v7-latest \
|
||||||
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
|
${IMAGE}:arm64v8-latest \
|
||||||
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -515,25 +568,25 @@ pipeline {
|
|||||||
when {
|
when {
|
||||||
branch "master"
|
branch "master"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-pkg-${PACKAGE_TAG}-ls${LS_TAG_NUMBER}"
|
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
|
||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "master",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
@@ -567,6 +620,18 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If this is a Pull request send the CI link as a comment on it
|
||||||
|
stage('Pull Request Comment') {
|
||||||
|
when {
|
||||||
|
not {environment name: 'CHANGE_ID', value: ''}
|
||||||
|
environment name: 'CI', value: 'true'
|
||||||
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
|
||||||
|
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* ######################
|
/* ######################
|
||||||
Send status to Discord
|
Send status to Discord
|
||||||
@@ -579,12 +644,12 @@ pipeline {
|
|||||||
}
|
}
|
||||||
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 --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**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 --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**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} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
88
README.md
88
README.md
@@ -12,13 +12,6 @@ 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.
|
||||||
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
|
||||||
|
|
||||||
# PSA: Changes are happening
|
|
||||||
|
|
||||||
From August 2018 onwards, Linuxserver are in the midst of switching to a new CI platform which will enable us to build and release multiple architectures under a single repo. To this end, existing images for `arm64` and `armhf` builds are being deprecated. They are replaced by a manifest file in each container which automatically pulls the correct image for your architecture. You'll also be able to pull based on a specific architecture tag.
|
|
||||||
|
|
||||||
TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
|
|
||||||
|
|
||||||
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
|
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
|
||||||
[](https://discord.gg/YWrKVTn)
|
[](https://discord.gg/YWrKVTn)
|
||||||
@@ -26,6 +19,8 @@ TLDR: Multi-arch support is changing from multiple repos to one repo per contain
|
|||||||
[](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://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/)
|
||||||
|
[](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.
|
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.
|
||||||
|
|
||||||
@@ -33,7 +28,9 @@ The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-
|
|||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
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).
|
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 `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:
|
||||||
|
|
||||||
@@ -41,7 +38,8 @@ The architectures supported by this image are:
|
|||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| x86-64 | amd64-latest |
|
| x86-64 | amd64-latest |
|
||||||
| arm64 | arm64v8-latest |
|
| arm64 | arm64v8-latest |
|
||||||
| armhf | arm32v6-latest |
|
| armhf | arm32v7-latest |
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -52,8 +50,8 @@ Here are some example snippets to help you get started creating a container.
|
|||||||
```
|
```
|
||||||
docker create \
|
docker create \
|
||||||
--name=qbittorrent \
|
--name=qbittorrent \
|
||||||
-e PUID=1001 \
|
-e PUID=1000 \
|
||||||
-e PGID=1001 \
|
-e PGID=1000 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e UMASK_SET=022 \
|
-e UMASK_SET=022 \
|
||||||
-e WEBUI_PORT=8080 \
|
-e WEBUI_PORT=8080 \
|
||||||
@@ -61,6 +59,7 @@ docker create \
|
|||||||
-p 6881:6881/udp \
|
-p 6881:6881/udp \
|
||||||
-p 8080:8080 \
|
-p 8080:8080 \
|
||||||
-v </path/to/appdata/config>:/config \
|
-v </path/to/appdata/config>:/config \
|
||||||
|
-v </path/to/downloads>:/downloads \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
linuxserver/qbittorrent
|
linuxserver/qbittorrent
|
||||||
```
|
```
|
||||||
@@ -78,18 +77,18 @@ services:
|
|||||||
image: linuxserver/qbittorrent
|
image: linuxserver/qbittorrent
|
||||||
container_name: qbittorrent
|
container_name: qbittorrent
|
||||||
environment:
|
environment:
|
||||||
- PUID=1001
|
- PUID=1000
|
||||||
- PGID=1001
|
- PGID=1000
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- UMASK_SET=022
|
- UMASK_SET=022
|
||||||
- WEBUI_PORT=8080
|
- WEBUI_PORT=8080
|
||||||
volumes:
|
volumes:
|
||||||
- </path/to/appdata/config>:/config
|
- </path/to/appdata/config>:/config
|
||||||
|
- </path/to/downloads>:/downloads
|
||||||
ports:
|
ports:
|
||||||
- 6881:6881
|
- 6881:6881
|
||||||
- 6881:6881/udp
|
- 6881:6881/udp
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
mem_limit: 4096m
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -102,12 +101,13 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-p 6881` | tcp connection port |
|
| `-p 6881` | tcp connection port |
|
||||||
| `-p 6881/udp` | udp connection port |
|
| `-p 6881/udp` | udp connection port |
|
||||||
| `-p 8080` | http gui |
|
| `-p 8080` | http gui |
|
||||||
| `-e PUID=1001` | for UserID - see below for explanation |
|
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||||
| `-e PGID=1001` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
||||||
| `-e UMASK_SET=022` | for umask setting of qbittorrent, optional , default if left unset is 022 |
|
| `-e UMASK_SET=022` | for umask setting of qbittorrent, optional , default if left unset is 022 |
|
||||||
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
|
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
|
||||||
| `-v /config` | Contains all relevant configuration files. |
|
| `-v /config` | Contains all relevant configuration files. |
|
||||||
|
| `-v /downloads` | Location of downloads on disk. |
|
||||||
|
|
||||||
## User / Group Identifiers
|
## User / Group Identifiers
|
||||||
|
|
||||||
@@ -115,13 +115,14 @@ When using volumes (`-v` flags) permissions issues can arise between the host OS
|
|||||||
|
|
||||||
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
||||||
|
|
||||||
In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as below:
|
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ id username
|
$ id username
|
||||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
@@ -159,8 +160,59 @@ WebUI\ServerDomains=*
|
|||||||
* image version number
|
* image version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/qbittorrent`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/qbittorrent`
|
||||||
|
|
||||||
|
## Updating Info
|
||||||
|
|
||||||
|
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
|
||||||
|
|
||||||
|
Below are the instructions for updating containers:
|
||||||
|
|
||||||
|
### Via Docker Run/Create
|
||||||
|
* Update the image: `docker pull linuxserver/qbittorrent`
|
||||||
|
* Stop the running container: `docker stop qbittorrent`
|
||||||
|
* Delete the container: `docker rm qbittorrent`
|
||||||
|
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
|
||||||
|
* Start the new container: `docker start qbittorrent`
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
### Via Docker Compose
|
||||||
|
* Update all images: `docker-compose pull`
|
||||||
|
* or update a single image: `docker-compose pull qbittorrent`
|
||||||
|
* Let compose update all containers as necessary: `docker-compose up -d`
|
||||||
|
* or update a single container: `docker-compose up -d qbittorrent`
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
|
||||||
|
* Pull the latest image at its tag and replace it with the same env variables in one run:
|
||||||
|
```
|
||||||
|
docker run --rm \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
containrrr/watchtower \
|
||||||
|
--run-once qbittorrent
|
||||||
|
```
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
## Building locally
|
||||||
|
|
||||||
|
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
||||||
|
```
|
||||||
|
git clone https://github.com/linuxserver/docker-qbittorrent.git
|
||||||
|
cd docker-qbittorrent
|
||||||
|
docker build \
|
||||||
|
--no-cache \
|
||||||
|
--pull \
|
||||||
|
-t linuxserver/qbittorrent:latest .
|
||||||
|
```
|
||||||
|
|
||||||
|
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||||
|
```
|
||||||
|
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
|
```
|
||||||
|
|
||||||
|
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.
|
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.
|
||||||
* **25.09.18:** - Use buildstage type build, bump qbitorrent to 4.1.3.
|
* **25.09.18:** - Use buildstage type build, bump qbitorrent to 4.1.3.
|
||||||
* **14.08.18:** - Rebase to alpine 3.8, bump libtorrent to 1.1.9 and qbitorrent to 4.1.2.
|
* **14.08.18:** - Rebase to alpine 3.8, bump libtorrent to 1.1.9 and qbitorrent to 4.1.2.
|
||||||
|
|||||||
@@ -1,177 +1,177 @@
|
|||||||
adduser/now 3.116ubuntu1 all [installed,local]
|
adduser3.116ubuntu1
|
||||||
apt/now 1.6.6 amd64 [installed,local]
|
apt1.6.10
|
||||||
apt-utils/now 1.6.6 amd64 [installed,local]
|
apt-utils1.6.10
|
||||||
base-files/now 10.1ubuntu2.3 amd64 [installed,local]
|
base-files10.1ubuntu2.4
|
||||||
base-passwd/now 3.5.44 amd64 [installed,local]
|
base-passwd3.5.44
|
||||||
bash/now 4.4.18-2ubuntu1 amd64 [installed,local]
|
bash4.4.18-2ubuntu1
|
||||||
bsdutils/now 1:2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
bsdutils1:2.31.1-0.4ubuntu3.3
|
||||||
bzip2/now 1.0.6-8.1 amd64 [installed,local]
|
bzip21.0.6-8.1
|
||||||
ca-certificates/now 20180409 all [installed,local]
|
ca-certificates20180409
|
||||||
coreutils/now 8.28-1ubuntu1 amd64 [installed,local]
|
coreutils8.28-1ubuntu1
|
||||||
curl/now 7.58.0-2ubuntu3.5 amd64 [installed,local]
|
curl7.58.0-2ubuntu3.6
|
||||||
dash/now 0.5.8-2.10 amd64 [installed,local]
|
dash0.5.8-2.10
|
||||||
dbus/now 1.12.2-1ubuntu1 amd64 [installed,local]
|
dbus1.12.2-1ubuntu1
|
||||||
debconf/now 1.5.66 all [installed,local]
|
debconf1.5.66
|
||||||
debianutils/now 4.8.4 amd64 [installed,local]
|
debianutils4.8.4
|
||||||
diffutils/now 1:3.6-1 amd64 [installed,local]
|
diffutils1:3.6-1
|
||||||
dirmngr/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
dirmngr2.2.4-1ubuntu1.2
|
||||||
dpkg/now 1.19.0.5ubuntu2.1 amd64 [installed,local]
|
dpkg1.19.0.5ubuntu2.1
|
||||||
e2fsprogs/now 1.44.1-1ubuntu1 amd64 [installed,local]
|
e2fsprogs1.44.1-1ubuntu1.1
|
||||||
fdisk/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
fdisk2.31.1-0.4ubuntu3.3
|
||||||
file/now 1:5.32-2ubuntu0.1 amd64 [installed,local]
|
file1:5.32-2ubuntu0.2
|
||||||
findutils/now 4.6.0+git+20170828-2 amd64 [installed,local]
|
findutils4.6.0+git+20170828-2
|
||||||
gcc-8-base/now 8.2.0-1ubuntu2~18.04 amd64 [installed,local]
|
gcc-8-base8.3.0-6ubuntu1~18.04
|
||||||
geoip-bin/now 1.6.12-1 amd64 [installed,local]
|
geoip-bin1.6.12-1
|
||||||
geoip-database/now 20180315-1 all [installed,local]
|
geoip-database20180315-1
|
||||||
gnupg/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gnupg2.2.4-1ubuntu1.2
|
||||||
gnupg-l10n/now 2.2.4-1ubuntu1.2 all [installed,local]
|
gnupg-l10n2.2.4-1ubuntu1.2
|
||||||
gnupg-utils/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gnupg-utils2.2.4-1ubuntu1.2
|
||||||
gpg/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpg2.2.4-1ubuntu1.2
|
||||||
gpg-agent/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpg-agent2.2.4-1ubuntu1.2
|
||||||
gpg-wks-client/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpgconf2.2.4-1ubuntu1.2
|
||||||
gpg-wks-server/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpgsm2.2.4-1ubuntu1.2
|
||||||
gpgconf/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpgv2.2.4-1ubuntu1.2
|
||||||
gpgsm/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpg-wks-client2.2.4-1ubuntu1.2
|
||||||
gpgv/now 2.2.4-1ubuntu1.2 amd64 [installed,local]
|
gpg-wks-server2.2.4-1ubuntu1.2
|
||||||
grep/now 3.1-2 amd64 [installed,local]
|
grep3.1-2
|
||||||
gzip/now 1.6-5ubuntu1 amd64 [installed,local]
|
gzip1.6-5ubuntu1
|
||||||
hostname/now 3.20 amd64 [installed,local]
|
hostname3.20
|
||||||
init-system-helpers/now 1.51 all [installed,local]
|
init-system-helpers1.51
|
||||||
krb5-locales/now 1.16-2build1 all [installed,local]
|
krb5-locales1.16-2ubuntu0.1
|
||||||
libacl1/now 2.2.52-3build1 amd64 [installed,local]
|
libacl12.2.52-3build1
|
||||||
libapparmor1/now 2.12-4ubuntu5.1 amd64 [installed,local]
|
libapparmor12.12-4ubuntu5.1
|
||||||
libapt-inst2.0/now 1.6.6 amd64 [installed,local]
|
libapt-inst2.01.6.10
|
||||||
libapt-pkg5.0/now 1.6.6 amd64 [installed,local]
|
libapt-pkg5.01.6.10
|
||||||
libasn1-8-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libasn1-8-heimdal7.5.0+dfsg-1
|
||||||
libassuan0/now 2.5.1-2 amd64 [installed,local]
|
libassuan02.5.1-2
|
||||||
libattr1/now 1:2.4.47-2build1 amd64 [installed,local]
|
libattr11:2.4.47-2build1
|
||||||
libaudit-common/now 1:2.8.2-1ubuntu1 all [installed,local]
|
libaudit11:2.8.2-1ubuntu1
|
||||||
libaudit1/now 1:2.8.2-1ubuntu1 amd64 [installed,local]
|
libaudit-common1:2.8.2-1ubuntu1
|
||||||
libblkid1/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
libblkid12.31.1-0.4ubuntu3.3
|
||||||
libboost-system1.65.1/now 1.65.1+dfsg-0ubuntu5 amd64 [installed,local]
|
libboost-system1.65.11.65.1+dfsg-0ubuntu5
|
||||||
libbz2-1.0/now 1.0.6-8.1 amd64 [installed,local]
|
libbz2-1.01.0.6-8.1
|
||||||
libc-bin/now 2.27-3ubuntu1 amd64 [installed,local]
|
libc62.27-3ubuntu1
|
||||||
libc6/now 2.27-3ubuntu1 amd64 [installed,local]
|
libcap-ng00.7.7-3.1
|
||||||
libcap-ng0/now 0.7.7-3.1 amd64 [installed,local]
|
libc-bin2.27-3ubuntu1
|
||||||
libcom-err2/now 1.44.1-1ubuntu1 amd64 [installed,local]
|
libcom-err21.44.1-1ubuntu1.1
|
||||||
libcurl4/now 7.58.0-2ubuntu3.5 amd64 [installed,local]
|
libcurl47.58.0-2ubuntu3.6
|
||||||
libdb5.3/now 5.3.28-13.1ubuntu1 amd64 [installed,local]
|
libdb5.35.3.28-13.1ubuntu1
|
||||||
libdbus-1-3/now 1.12.2-1ubuntu1 amd64 [installed,local]
|
libdbus-1-31.12.2-1ubuntu1
|
||||||
libdebconfclient0/now 0.213ubuntu1 amd64 [installed,local]
|
libdebconfclient00.213ubuntu1
|
||||||
libdouble-conversion1/now 2.0.1-4ubuntu1 amd64 [installed,local]
|
libdouble-conversion12.0.1-4ubuntu1
|
||||||
libexpat1/now 2.2.5-3 amd64 [installed,local]
|
libexpat12.2.5-3
|
||||||
libext2fs2/now 1.44.1-1ubuntu1 amd64 [installed,local]
|
libext2fs21.44.1-1ubuntu1.1
|
||||||
libfdisk1/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
libfdisk12.31.1-0.4ubuntu3.3
|
||||||
libffi6/now 3.2.1-8 amd64 [installed,local]
|
libffi63.2.1-8
|
||||||
libgcc1/now 1:8.2.0-1ubuntu2~18.04 amd64 [installed,local]
|
libgcc11:8.3.0-6ubuntu1~18.04
|
||||||
libgcrypt20/now 1.8.1-4ubuntu1.1 amd64 [installed,local]
|
libgcrypt201.8.1-4ubuntu1.1
|
||||||
libgeoip1/now 1.6.12-1 amd64 [installed,local]
|
libgeoip11.6.12-1
|
||||||
libglib2.0-0/now 2.56.3-0ubuntu0.18.04.1 amd64 [installed,local]
|
libglib2.0-02.56.4-0ubuntu0.18.04.2
|
||||||
libglib2.0-data/now 2.56.3-0ubuntu0.18.04.1 all [installed,local]
|
libglib2.0-data2.56.4-0ubuntu0.18.04.2
|
||||||
libgmp10/now 2:6.1.2+dfsg-2 amd64 [installed,local]
|
libgmp102:6.1.2+dfsg-2
|
||||||
libgnutls30/now 3.5.18-1ubuntu1 amd64 [installed,local]
|
libgnutls303.5.18-1ubuntu1
|
||||||
libgpg-error0/now 1.27-6 amd64 [installed,local]
|
libgpg-error01.27-6
|
||||||
libgssapi-krb5-2/now 1.16-2build1 amd64 [installed,local]
|
libgssapi3-heimdal7.5.0+dfsg-1
|
||||||
libgssapi3-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libgssapi-krb5-21.16-2ubuntu0.1
|
||||||
libhcrypto4-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libhcrypto4-heimdal7.5.0+dfsg-1
|
||||||
libheimbase1-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libheimbase1-heimdal7.5.0+dfsg-1
|
||||||
libheimntlm0-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libheimntlm0-heimdal7.5.0+dfsg-1
|
||||||
libhogweed4/now 3.4-1 amd64 [installed,local]
|
libhogweed43.4-1
|
||||||
libhx509-5-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libhx509-5-heimdal7.5.0+dfsg-1
|
||||||
libicu60/now 60.2-3ubuntu3 amd64 [installed,local]
|
libicu6060.2-3ubuntu3
|
||||||
libidn2-0/now 2.0.4-1.1build2 amd64 [installed,local]
|
libidn2-02.0.4-1.1build2
|
||||||
libk5crypto3/now 1.16-2build1 amd64 [installed,local]
|
libk5crypto31.16-2ubuntu0.1
|
||||||
libkeyutils1/now 1.5.9-9.2ubuntu2 amd64 [installed,local]
|
libkeyutils11.5.9-9.2ubuntu2
|
||||||
libkrb5-26-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libkrb5-26-heimdal7.5.0+dfsg-1
|
||||||
libkrb5-3/now 1.16-2build1 amd64 [installed,local]
|
libkrb5-31.16-2ubuntu0.1
|
||||||
libkrb5support0/now 1.16-2build1 amd64 [installed,local]
|
libkrb5support01.16-2ubuntu0.1
|
||||||
libksba8/now 1.3.5-2 amd64 [installed,local]
|
libksba81.3.5-2
|
||||||
libldap-2.4-2/now 2.4.45+dfsg-1ubuntu1.1 amd64 [installed,local]
|
libldap-2.4-22.4.45+dfsg-1ubuntu1.2
|
||||||
libldap-common/now 2.4.45+dfsg-1ubuntu1.1 all [installed,local]
|
libldap-common2.4.45+dfsg-1ubuntu1.2
|
||||||
liblz4-1/now 0.0~r131-2ubuntu3 amd64 [installed,local]
|
liblz4-10.0~r131-2ubuntu3
|
||||||
liblzma5/now 5.2.2-1.3 amd64 [installed,local]
|
liblzma55.2.2-1.3
|
||||||
libmagic-mgc/now 1:5.32-2ubuntu0.1 amd64 [installed,local]
|
libmagic11:5.32-2ubuntu0.2
|
||||||
libmagic1/now 1:5.32-2ubuntu0.1 amd64 [installed,local]
|
libmagic-mgc1:5.32-2ubuntu0.2
|
||||||
libmount1/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
libmount12.31.1-0.4ubuntu3.3
|
||||||
libncurses5/now 6.1-1ubuntu1.18.04 amd64 [installed,local]
|
libncurses56.1-1ubuntu1.18.04
|
||||||
libncursesw5/now 6.1-1ubuntu1.18.04 amd64 [installed,local]
|
libncursesw56.1-1ubuntu1.18.04
|
||||||
libnettle6/now 3.4-1 amd64 [installed,local]
|
libnettle63.4-1
|
||||||
libnghttp2-14/now 1.30.0-1ubuntu1 amd64 [installed,local]
|
libnghttp2-141.30.0-1ubuntu1
|
||||||
libnpth0/now 1.5-3 amd64 [installed,local]
|
libnpth01.5-3
|
||||||
libp11-kit0/now 0.23.9-2 amd64 [installed,local]
|
libp11-kit00.23.9-2
|
||||||
libpam-modules/now 1.1.8-3.6ubuntu2 amd64 [installed,local]
|
libpam0g1.1.8-3.6ubuntu2.18.04.1
|
||||||
libpam-modules-bin/now 1.1.8-3.6ubuntu2 amd64 [installed,local]
|
libpam-modules1.1.8-3.6ubuntu2.18.04.1
|
||||||
libpam-runtime/now 1.1.8-3.6ubuntu2 all [installed,local]
|
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.1
|
||||||
libpam0g/now 1.1.8-3.6ubuntu2 amd64 [installed,local]
|
libpam-runtime1.1.8-3.6ubuntu2.18.04.1
|
||||||
libpcre3/now 2:8.39-9 amd64 [installed,local]
|
libpcre32:8.39-9
|
||||||
libprocps6/now 2:3.3.12-3ubuntu1.1 amd64 [installed,local]
|
libprocps62:3.3.12-3ubuntu1.1
|
||||||
libpsl5/now 0.19.1-5build1 amd64 [installed,local]
|
libpsl50.19.1-5build1
|
||||||
libpython-stdlib/now 2.7.15~rc1-1 amd64 [installed,local]
|
libpython2.7-minimal2.7.15~rc1-1ubuntu0.1
|
||||||
libpython2.7-minimal/now 2.7.15~rc1-1ubuntu0.1 amd64 [installed,local]
|
libpython2.7-stdlib2.7.15~rc1-1ubuntu0.1
|
||||||
libpython2.7-stdlib/now 2.7.15~rc1-1ubuntu0.1 amd64 [installed,local]
|
libpython-stdlib2.7.15~rc1-1
|
||||||
libqt5core5a/now 5.9.5+dfsg-0ubuntu1 amd64 [installed,local]
|
libqt5core5a5.9.5+dfsg-0ubuntu2
|
||||||
libqt5dbus5/now 5.9.5+dfsg-0ubuntu1 amd64 [installed,local]
|
libqt5dbus55.9.5+dfsg-0ubuntu2
|
||||||
libqt5network5/now 5.9.5+dfsg-0ubuntu1 amd64 [installed,local]
|
libqt5network55.9.5+dfsg-0ubuntu2
|
||||||
libqt5xml5/now 5.9.5+dfsg-0ubuntu1 amd64 [installed,local]
|
libqt5xml55.9.5+dfsg-0ubuntu2
|
||||||
libreadline7/now 7.0-3 amd64 [installed,local]
|
libreadline77.0-3
|
||||||
libroken18-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libroken18-heimdal7.5.0+dfsg-1
|
||||||
librtmp1/now 2.4+20151223.gitfa8646d.1-1 amd64 [installed,local]
|
librtmp12.4+20151223.gitfa8646d.1-1
|
||||||
libsasl2-2/now 2.1.27~101-g0780600+dfsg-3ubuntu2 amd64 [installed,local]
|
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2
|
||||||
libsasl2-modules/now 2.1.27~101-g0780600+dfsg-3ubuntu2 amd64 [installed,local]
|
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
|
||||||
libsasl2-modules-db/now 2.1.27~101-g0780600+dfsg-3ubuntu2 amd64 [installed,local]
|
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
|
||||||
libseccomp2/now 2.3.1-2.1ubuntu4 amd64 [installed,local]
|
libseccomp22.3.1-2.1ubuntu4.1
|
||||||
libselinux1/now 2.7-2build2 amd64 [installed,local]
|
libselinux12.7-2build2
|
||||||
libsemanage-common/now 2.7-2build2 all [installed,local]
|
libsemanage12.7-2build2
|
||||||
libsemanage1/now 2.7-2build2 amd64 [installed,local]
|
libsemanage-common2.7-2build2
|
||||||
libsepol1/now 2.7-1 amd64 [installed,local]
|
libsepol12.7-1
|
||||||
libsmartcols1/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
libsmartcols12.31.1-0.4ubuntu3.3
|
||||||
libsqlite3-0/now 3.22.0-1 amd64 [installed,local]
|
libsqlite3-03.22.0-1
|
||||||
libss2/now 1.44.1-1ubuntu1 amd64 [installed,local]
|
libss21.44.1-1ubuntu1.1
|
||||||
libssl1.1/now 1.1.0g-2ubuntu4.3 amd64 [installed,local]
|
libssl1.11.1.0g-2ubuntu4.3
|
||||||
libstdc++6/now 8.2.0-1ubuntu2~18.04 amd64 [installed,local]
|
libstdc++68.3.0-6ubuntu1~18.04
|
||||||
libsystemd0/now 237-3ubuntu10.9 amd64 [installed,local]
|
libsystemd0237-3ubuntu10.21
|
||||||
libtasn1-6/now 4.13-2 amd64 [installed,local]
|
libtasn1-64.13-2
|
||||||
libtinfo5/now 6.1-1ubuntu1.18.04 amd64 [installed,local]
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libtorrent-rasterbar9/now 1.1.11+git20181119.25a1f12991+patched-configure-1ppa1~18.04 amd64 [installed,local]
|
libtorrent-rasterbar91.1.13+git20190505.6f1250c653+patched-configure-1ppa1~18.04
|
||||||
libudev1/now 237-3ubuntu10.9 amd64 [installed,local]
|
libudev1237-3ubuntu10.21
|
||||||
libunistring2/now 0.9.9-0ubuntu1 amd64 [installed,local]
|
libunistring20.9.9-0ubuntu2
|
||||||
libuuid1/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
libuuid12.31.1-0.4ubuntu3.3
|
||||||
libwind0-heimdal/now 7.5.0+dfsg-1 amd64 [installed,local]
|
libwind0-heimdal7.5.0+dfsg-1
|
||||||
libxml2/now 2.9.4+dfsg1-6.1ubuntu1.2 amd64 [installed,local]
|
libxml22.9.4+dfsg1-6.1ubuntu1.2
|
||||||
libzstd1/now 1.3.3+dfsg-2ubuntu1 amd64 [installed,local]
|
libzstd11.3.3+dfsg-2ubuntu1
|
||||||
locales/now 2.27-3ubuntu1 all [installed,local]
|
locales2.27-3ubuntu1
|
||||||
login/now 1:4.5-1ubuntu1 amd64 [installed,local]
|
login1:4.5-1ubuntu2
|
||||||
lsb-base/now 9.20170808ubuntu1 all [installed,local]
|
lsb-base9.20170808ubuntu1
|
||||||
mawk/now 1.3.3-17ubuntu3 amd64 [installed,local]
|
mawk1.3.3-17ubuntu3
|
||||||
mime-support/now 3.60ubuntu1 all [installed,local]
|
mime-support3.60ubuntu1
|
||||||
mount/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
mount2.31.1-0.4ubuntu3.3
|
||||||
ncurses-base/now 6.1-1ubuntu1.18.04 all [installed,local]
|
ncurses-base6.1-1ubuntu1.18.04
|
||||||
ncurses-bin/now 6.1-1ubuntu1.18.04 amd64 [installed,local]
|
ncurses-bin6.1-1ubuntu1.18.04
|
||||||
openssl/now 1.1.0g-2ubuntu4.3 amd64 [installed,local]
|
openssl1.1.0g-2ubuntu4.3
|
||||||
p7zip/now 16.02+dfsg-6 amd64 [installed,local]
|
p7zip16.02+dfsg-6
|
||||||
p7zip-full/now 16.02+dfsg-6 amd64 [installed,local]
|
p7zip-full16.02+dfsg-6
|
||||||
passwd/now 1:4.5-1ubuntu1 amd64 [installed,local]
|
passwd1:4.5-1ubuntu2
|
||||||
perl-base/now 5.26.1-6ubuntu0.3 amd64 [installed,local]
|
perl-base5.26.1-6ubuntu0.3
|
||||||
pinentry-curses/now 1.1.0-1 amd64 [installed,local]
|
pinentry-curses1.1.0-1
|
||||||
procps/now 2:3.3.12-3ubuntu1.1 amd64 [installed,local]
|
procps2:3.3.12-3ubuntu1.1
|
||||||
publicsuffix/now 20180223.1310-1 all [installed,local]
|
publicsuffix20180223.1310-1
|
||||||
python/now 2.7.15~rc1-1 amd64 [installed,local]
|
python2.7.15~rc1-1
|
||||||
python-minimal/now 2.7.15~rc1-1 amd64 [installed,local]
|
python2.72.7.15~rc1-1ubuntu0.1
|
||||||
python2.7/now 2.7.15~rc1-1ubuntu0.1 amd64 [installed,local]
|
python2.7-minimal2.7.15~rc1-1ubuntu0.1
|
||||||
python2.7-minimal/now 2.7.15~rc1-1ubuntu0.1 amd64 [installed,local]
|
python-minimal2.7.15~rc1-1
|
||||||
qbittorrent-nox/now 4.1.5.99~201812282032-6681-264b689~ubuntu18.04.1 amd64 [installed,local]
|
qbittorrent-nox4.1.5.99~201905062119-6701-ea7e47d~ubuntu18.04.1
|
||||||
qttranslations5-l10n/now 5.9.5-0ubuntu1 all [installed,local]
|
qttranslations5-l10n5.9.5-0ubuntu1
|
||||||
readline-common/now 7.0-3 all [installed,local]
|
readline-common7.0-3
|
||||||
sed/now 4.4-2 amd64 [installed,local]
|
sed4.4-2
|
||||||
sensible-utils/now 0.0.12 all [installed,local]
|
sensible-utils0.0.12
|
||||||
shared-mime-info/now 1.9-2 amd64 [installed,local]
|
shared-mime-info1.9-2
|
||||||
sysvinit-utils/now 2.88dsf-59.10ubuntu1 amd64 [installed,local]
|
sysvinit-utils2.88dsf-59.10ubuntu1
|
||||||
tar/now 1.29b-2 amd64 [installed,local]
|
tar1.29b-2ubuntu0.1
|
||||||
tzdata/now 2018i-0ubuntu0.18.04 all [installed,local]
|
tzdata2019a-0ubuntu0.18.04
|
||||||
ubuntu-keyring/now 2018.09.18.1~18.04.0 all [installed,local]
|
ubuntu-keyring2018.09.18.1~18.04.0
|
||||||
unrar/now 1:5.5.8-1 amd64 [installed,local]
|
unrar1:5.5.8-1
|
||||||
unzip/now 6.0-21ubuntu1 amd64 [installed,local]
|
unzip6.0-21ubuntu1
|
||||||
util-linux/now 2.31.1-0.4ubuntu3.2 amd64 [installed,local]
|
util-linux2.31.1-0.4ubuntu3.3
|
||||||
xdg-user-dirs/now 0.17-1ubuntu1 amd64 [installed,local]
|
xdg-user-dirs0.17-1ubuntu1
|
||||||
xz-utils/now 5.2.2-1.3 amd64 [installed,local]
|
xz-utils5.2.2-1.3
|
||||||
zlib1g/now 1:1.2.11.dfsg-0ubuntu2 amd64 [installed,local]
|
zlib1g1:1.2.11.dfsg-0ubuntu2
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
|
|||||||
available_architectures:
|
available_architectures:
|
||||||
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||||
- { arch: "{{ arch_armhf }}", tag: "arm32v6-latest"}
|
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||||
|
|
||||||
# container parameters
|
# container parameters
|
||||||
common_param_env_vars_enabled: true
|
common_param_env_vars_enabled: true
|
||||||
@@ -19,6 +19,7 @@ param_container_name: "{{ project_name }}"
|
|||||||
param_usage_include_vols: true
|
param_usage_include_vols: true
|
||||||
param_volumes:
|
param_volumes:
|
||||||
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Contains all relevant configuration files." }
|
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Contains all relevant configuration files." }
|
||||||
|
- { vol_path: "/downloads", vol_host_path: "</path/to/downloads>", desc: "Location of downloads on disk." }
|
||||||
param_usage_include_ports: true
|
param_usage_include_ports: true
|
||||||
param_ports:
|
param_ports:
|
||||||
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
|
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
|
||||||
@@ -62,6 +63,7 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { 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." }
|
- { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }
|
||||||
- { date: "25.09.18:", desc: "Use buildstage type build, bump qbitorrent to 4.1.3." }
|
- { date: "25.09.18:", desc: "Use buildstage type build, bump qbitorrent to 4.1.3." }
|
||||||
- { date: "14.08.18:", desc: "Rebase to alpine 3.8, bump libtorrent to 1.1.9 and qbitorrent to 4.1.2." }
|
- { date: "14.08.18:", desc: "Rebase to alpine 3.8, bump libtorrent to 1.1.9 and qbitorrent to 4.1.2." }
|
||||||
|
|||||||
Reference in New Issue
Block a user