Compare commits

...

27 Commits

Author SHA1 Message Date
LinuxServer-CI
ca0d25caa5 Bot Updating Package Versions 2024-08-11 06:51:51 +00:00
LinuxServer-CI
c6bc0cddb5 Bot Updating Package Versions 2024-07-28 06:52:32 +00:00
LinuxServer-CI
b07685bd87 Bot Updating Package Versions 2024-07-17 10:45:33 +00:00
thespad
9df948f0c8 Fix static version in url 2024-07-17 11:42:46 +01:00
thespad
d7ed4941f7 Use netcore 6 version 2024-07-17 11:23:19 +01:00
LinuxServer-CI
6a2f34d79e Bot Updating Package Versions 2024-07-17 10:22:23 +00:00
LinuxServer-CI
3ea4f46afe Bot Updating Templated Files 2024-07-17 10:19:49 +00:00
thespad
4961e321ff Fix amd64 cli path 2024-07-17 11:19:29 +01:00
thespad
4e390f3a02 libtorrent-cli 2024-07-17 11:17:28 +01:00
LinuxServer-CI
44b28c3b54 Bot Updating Package Versions 2024-07-14 06:55:52 +00:00
LinuxServer-CI
5f2da2e99c Bot Updating Templated Files 2024-07-14 06:53:08 +00:00
LinuxServer-CI
f22be93348 Bot Updating Templated Files 2024-07-14 06:51:38 +00:00
LinuxServer-CI
5ebec66860 Bot Updating Templated Files 2024-07-08 15:21:12 +00:00
Roxedus
e7047c96fc Merge pull request #315 from linuxserver/libtorrentv1-ro-tweaks
Don't chown /downloads unless it's mounted (libtorrentv1)
2024-07-08 17:19:50 +02:00
thespad
c11e773eba Don't chown /downloads unless it's mounted 2024-07-03 19:18:38 +01:00
LinuxServer-CI
5640e3bd89 Bot Updating Package Versions 2024-06-30 06:51:13 +00:00
LinuxServer-CI
666fe44a8a Bot Updating Package Versions 2024-06-23 06:51:28 +00:00
LinuxServer-CI
bb21bcf90f Bot Updating Package Versions 2024-06-16 06:51:06 +00:00
LinuxServer-CI
e7b61f7994 Bot Updating Package Versions 2024-06-09 06:52:38 +00:00
LinuxServer-CI
810273f461 Bot Updating Package Versions 2024-05-25 20:28:18 +00:00
thespad
86154fa26e Rebase to 3.20, drop qbittorrent-cli 2024-05-25 21:24:48 +01:00
LinuxServer-CI
7bedef788a Bot Updating Package Versions 2024-05-12 06:54:33 +00:00
LinuxServer-CI
bd5ffc3227 Bot Updating Templated Files 2024-05-12 06:50:41 +00:00
LinuxServer-CI
da745fb734 Bot Updating Templated Files 2024-05-05 06:50:40 +00:00
LinuxServer-CI
0d6981aab8 Bot Updating Package Versions 2024-04-21 06:51:16 +00:00
LinuxServer-CI
46e26ac70b Bot Updating Package Versions 2024-04-14 08:11:03 +00:00
LinuxServer-CI
07590b23cf Bot Updating Package Versions 2024-04-07 06:52:49 +00:00
10 changed files with 295 additions and 305 deletions

View File

@@ -5,6 +5,8 @@ on:
- '**/run'
- '**/finish'
- '**/check'
- 'root/migrations/*'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/unrar:latest as unrar
FROM ghcr.io/linuxserver/unrar:latest AS unrar
FROM ghcr.io/linuxserver/baseimage-alpine:3.19
FROM ghcr.io/linuxserver/baseimage-alpine:3.20
# set version label
ARG BUILD_DATE
@@ -19,9 +19,6 @@ XDG_DATA_HOME="/config"
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
build-base && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
icu-libs \
@@ -41,17 +38,16 @@ RUN \
mkdir /qbt && \
if [ -z ${QBT_CLI_VERSION+x} ]; then \
QBT_CLI_VERSION=$(curl -sL "https://api.github.com/repos/fedarovich/qbittorrent-cli/releases/latest" \
| jq -r '. | .tag_name'); \
| jq -r '. | .tag_name'); \
fi && \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_CLI_VERSION}/qbt-linux-alpine-x64-${QBT_CLI_VERSION#v}.tar.gz" && \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_CLI_VERSION}/qbt-linux-alpine-x64-net6-${QBT_CLI_VERSION#v}.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/qbt && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/unrar:arm64v8-latest as unrar
FROM ghcr.io/linuxserver/unrar:arm64v8-latest AS unrar
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20
# set version label
ARG BUILD_DATE
@@ -19,9 +19,6 @@ XDG_DATA_HOME="/config"
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
build-base && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
icu-libs \
@@ -41,17 +38,16 @@ RUN \
mkdir /qbt && \
if [ -z ${QBT_CLI_VERSION+x} ]; then \
QBT_CLI_VERSION=$(curl -sL "https://api.github.com/repos/fedarovich/qbittorrent-cli/releases/latest" \
| jq -r '. | .tag_name'); \
| jq -r '. | .tag_name'); \
fi && \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_CLI_VERSION}/qbt-linux-alpine-arm64-${QBT_CLI_VERSION#v}.tar.gz" && \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_CLI_VERSION}/qbt-linux-alpine-arm64-net6-${QBT_CLI_VERSION#v}.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/qbt && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*

68
Jenkinsfile vendored
View File

@@ -25,15 +25,14 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
DIST_IMAGE = 'alpine'
DIST_TAG = '3.18'
MULTIARCH='true'
CI='true'
CI_WEB='true'
CI_PORT='8080'
CI_SSL='false'
CI_DELAY='120'
CI_DOCKERENV='TZ=US/Pacific'
CI_AUTH='user:password'
CI_DELAY='60'
CI_DOCKERENV=''
CI_AUTH=''
CI_WEBPATH=''
}
stages {
@@ -246,7 +245,7 @@ pipeline {
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache python3 && \
python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
@@ -276,7 +275,7 @@ pipeline {
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
git clone --branch libtorrentv1 --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
echo "Starting Stage 1 - Jenkinsfile update"
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
@@ -296,7 +295,7 @@ pipeline {
echo "Jenkinsfile is up to date."
fi
echo "Starting Stage 2 - Delete old templates"
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -353,7 +352,7 @@ pipeline {
fi
echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub"
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
git clone --depth=1 https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
@@ -371,8 +370,8 @@ pipeline {
echo "Docs update not needed, skipping"
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
git clone --depth=1 https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone --depth=1 https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
@@ -382,7 +381,9 @@ pipeline {
echo "Updating Unraid template"
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then
echo "Image is on the ignore list, and already in the deprecation folder."
elif grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
@@ -524,6 +525,7 @@ pipeline {
--label \"org.opencontainers.image.title=Qbittorrent\" \
--label \"org.opencontainers.image.description=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.\" \
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -555,6 +557,7 @@ pipeline {
--label \"org.opencontainers.image.title=Qbittorrent\" \
--label \"org.opencontainers.image.description=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.\" \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -583,6 +586,7 @@ pipeline {
--label \"org.opencontainers.image.title=Qbittorrent\" \
--label \"org.opencontainers.image.description=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.\" \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
@@ -609,7 +613,7 @@ pipeline {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" != "true" ]; then
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
@@ -699,14 +703,14 @@ pipeline {
set -e
docker pull ghcr.io/linuxserver/ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e DELAY_START=\"${CI_DELAY}\" \
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e PORT=\"${CI_PORT}\" \
@@ -790,7 +794,7 @@ pipeline {
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
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
@@ -814,35 +818,13 @@ pipeline {
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker manifest push --purge ${MANIFESTIMAGE}:libtorrentv1 || :
docker manifest create ${MANIFESTIMAGE}:libtorrentv1 ${MANIFESTIMAGE}:amd64-libtorrentv1 ${MANIFESTIMAGE}:arm64v8-libtorrentv1
docker manifest annotate ${MANIFESTIMAGE}:libtorrentv1 ${MANIFESTIMAGE}:arm64v8-libtorrentv1 --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
done
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker buildx imagetools create -t ${MANIFESTIMAGE}:libtorrentv1 ${MANIFESTIMAGE}:amd64-libtorrentv1 ${MANIFESTIMAGE}:arm64v8-libtorrentv1
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
fi
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-libtorrentv1")
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-libtorrentv1 || :
docker manifest create ${MANIFESTIMAGE}:arm32v7-libtorrentv1 ${MANIFESTIMAGE}:amd64-libtorrentv1
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-libtorrentv1
fi
docker manifest push --purge ${MANIFESTIMAGE}:libtorrentv1
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
done
'''

View File

@@ -28,7 +28,7 @@ Find us at:
# [linuxserver/qbittorrent](https://github.com/linuxserver/docker-qbittorrent)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fqbittorrent?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fqbittorrent)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fqbittorrent?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-qbittorrent/packages)
@@ -86,6 +86,11 @@ A bittorrent client can be an active or a passive node. Running your client as a
Similarly to the WEBUI_PORT, to set the port to 6887 you need to pass -p 6887:6887, -p 6887:6887/udp and -e TORRENTING_PORT=6887 arguments to Docker.
## Read-Only Operation
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
## Usage
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
@@ -105,8 +110,8 @@ services:
- WEBUI_PORT=8080
- TORRENTING_PORT=6881
volumes:
- /path/to/qbittorrent/config:/config
- /path/to/downloads:/downloads
- /path/to/qbittorrent/appdata:/config
- /path/to/downloads:/downloads #optional
ports:
- 8080:8080
- 6881:6881
@@ -127,8 +132,8 @@ docker run -d \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-v /path/to/qbittorrent/config:/config \
-v /path/to/downloads:/downloads \
-v /path/to/qbittorrent/appdata:/config \
-v /path/to/downloads:/downloads `#optional` \
--restart unless-stopped \
lscr.io/linuxserver/qbittorrent:libtorrentv1
```
@@ -149,6 +154,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-e TORRENTING_PORT=6881` | for changing the port of tcp/udp connection, see below for explanation |
| `-v /config` | Contains all relevant configuration files. |
| `-v /downloads` | Location of downloads on disk. |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
## Environment variables from files (Docker secrets)
@@ -311,6 +317,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **17.07.24:** - Restore qbittorrent-cli as it now supports openssl 3.
* **25.05.24:** - Rebase to Alpine 3.20, remove qbittorrent-cli as it still requires openssl 1.1 which is EOL.
* **14.02.24:** - Only set/override torrenting port if the optional env var is set.
* **14.02.24:** - Add torrenting port support.
* **31.01.24:** - Rebase to Alpine 3.19.

View File

@@ -7,7 +7,6 @@ custom_version_command: "curl -sL 'https://api.github.com/repos/userdocs/qbittor
release_type: prerelease
release_tag: libtorrentv1
ls_branch: libtorrentv1
build_armhf: false
repo_vars:
- CONTAINER_NAME = 'qbittorrent'
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
@@ -17,13 +16,12 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
- PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
- DIST_IMAGE = 'alpine'
- DIST_TAG = '3.18'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='8080'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_DELAY='60'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''

View File

@@ -6,251 +6,254 @@ Bouncy Castle for .NET (netstandard2.0) 1.8.8.2
CommandLineUtils 2.4.4+3c2a4909757a51602dcca9b961d577511b85fd31.3c2a4909757a51602dcca9b961d577511b85fd31 dotnet
CsvHelper 12.1.2 dotnet
Json.NET 13.0.3.27908 dotnet
Microsoft.CSharp 4.700.22.56512 dotnet
Microsoft.VisualBasic 4.700.22.56512 dotnet
Microsoft.VisualBasic.Core 4.700.22.56512 dotnet
Microsoft.Win32.Primitives 4.700.22.56512 dotnet
Microsoft.Win32.Registry 4.700.22.56512 dotnet
Microsoft.CSharp 6.0.3024.21525 dotnet
Microsoft.VisualBasic 6.0.3024.21525 dotnet
Microsoft.VisualBasic.Core 11.100.3024.21525 dotnet
Microsoft.Win32.Primitives 6.0.3024.21525 dotnet
Microsoft.Win32.Registry 6.0.3024.21525 dotnet
Mono.Posix.NETStandard 1.0.0.0 dotnet
NJsonSchema 9.14.1.0 dotnet
Portable.Xaml.dll 0.18.0.0 dotnet
QBittorrent.Client 1.9.23349.1 dotnet
System 4.700.22.56512 dotnet
System.AppContext 4.700.22.56512 dotnet
System.Buffers 4.700.22.56512 dotnet
System.Collections 4.700.22.56512 dotnet
System.Collections.Concurrent 4.700.22.56512 dotnet
System.Collections.Immutable 4.700.22.56512 dotnet
System.Collections.NonGeneric 4.700.22.56512 dotnet
System.Collections.Specialized 4.700.22.56512 dotnet
System.ComponentModel 4.700.22.56512 dotnet
System.ComponentModel.Annotations 4.700.22.56512 dotnet
System.ComponentModel.DataAnnotations 4.700.22.56512 dotnet
System.ComponentModel.EventBasedAsync 4.700.22.56512 dotnet
System.ComponentModel.Primitives 4.700.22.56512 dotnet
System.ComponentModel.TypeConverter 4.700.22.56512 dotnet
System.Configuration 4.700.22.56512 dotnet
System.Console 4.700.22.56512 dotnet
System.Core 4.700.22.56512 dotnet
System.Data 4.700.22.56512 dotnet
System.Data.Common 4.700.22.56512 dotnet
System.Data.DataSetExtensions 4.700.22.56512 dotnet
System.Diagnostics.Contracts 4.700.22.56512 dotnet
System.Diagnostics.Debug 4.700.22.56512 dotnet
System.Diagnostics.DiagnosticSource 4.700.22.56512 dotnet
System.Diagnostics.FileVersionInfo 4.700.22.56512 dotnet
System.Diagnostics.Process 4.700.22.56512 dotnet
System.Diagnostics.StackTrace 4.700.22.56512 dotnet
System.Diagnostics.TextWriterTraceListener 4.700.22.56512 dotnet
System.Diagnostics.Tools 4.700.22.56512 dotnet
System.Diagnostics.TraceSource 4.700.22.56512 dotnet
System.Diagnostics.Tracing 4.700.22.56512 dotnet
System.Drawing 4.700.22.56512 dotnet
System.Drawing.Primitives 4.700.22.56512 dotnet
System.Dynamic.Runtime 4.700.22.56512 dotnet
System.Globalization 4.700.22.56512 dotnet
System.Globalization.Calendars 4.700.22.56512 dotnet
System.Globalization.Extensions 4.700.22.56512 dotnet
System.IO 4.700.22.56512 dotnet
System.IO.Compression 4.700.22.56512 dotnet
System.IO.Compression.Brotli 4.700.22.56512 dotnet
System.IO.Compression.FileSystem 4.700.22.56512 dotnet
System.IO.Compression.ZipFile 4.700.22.56512 dotnet
System.IO.FileSystem 4.700.22.56512 dotnet
System.IO.FileSystem.AccessControl 4.700.22.56512 dotnet
System.IO.FileSystem.DriveInfo 4.700.22.56512 dotnet
System.IO.FileSystem.Primitives 4.700.22.56512 dotnet
System.IO.FileSystem.Watcher 4.700.22.56512 dotnet
System.IO.IsolatedStorage 4.700.22.56512 dotnet
System.IO.MemoryMappedFiles 4.700.22.56512 dotnet
System.IO.Pipes 4.700.22.56512 dotnet
System.IO.Pipes.AccessControl 4.700.22.56512 dotnet
System.IO.UnmanagedMemoryStream 4.700.22.56512 dotnet
System.Linq 4.700.22.56512 dotnet
System.Linq.Expressions 4.700.22.56512 dotnet
System.Linq.Parallel 4.700.22.56512 dotnet
System.Linq.Queryable 4.700.22.56512 dotnet
System.Memory 4.700.22.56512 dotnet
System.Net 4.700.22.56512 dotnet
System.Net.Http 4.700.22.56512 dotnet
System.Net.HttpListener 4.700.22.56512 dotnet
System 6.0.3024.21525 dotnet
System.AppContext 6.0.3024.21525 dotnet
System.Buffers 6.0.3024.21525 dotnet
System.Collections 6.0.3024.21525 dotnet
System.Collections.Concurrent 6.0.3024.21525 dotnet
System.Collections.Immutable 6.0.3024.21525 dotnet
System.Collections.NonGeneric 6.0.3024.21525 dotnet
System.Collections.Specialized 6.0.3024.21525 dotnet
System.ComponentModel 6.0.3024.21525 dotnet
System.ComponentModel.Annotations 6.0.3024.21525 dotnet
System.ComponentModel.DataAnnotations 6.0.3024.21525 dotnet
System.ComponentModel.EventBasedAsync 6.0.3024.21525 dotnet
System.ComponentModel.Primitives 6.0.3024.21525 dotnet
System.ComponentModel.TypeConverter 6.0.3024.21525 dotnet
System.Configuration 6.0.3024.21525 dotnet
System.Console 6.0.3024.21525 dotnet
System.Core 6.0.3024.21525 dotnet
System.Data 6.0.3024.21525 dotnet
System.Data.Common 6.0.3024.21525 dotnet
System.Data.DataSetExtensions 6.0.3024.21525 dotnet
System.Diagnostics.Contracts 6.0.3024.21525 dotnet
System.Diagnostics.Debug 6.0.3024.21525 dotnet
System.Diagnostics.DiagnosticSource 6.0.3024.21525 dotnet
System.Diagnostics.FileVersionInfo 6.0.3024.21525 dotnet
System.Diagnostics.Process 6.0.3024.21525 dotnet
System.Diagnostics.StackTrace 6.0.3024.21525 dotnet
System.Diagnostics.TextWriterTraceListener 6.0.3024.21525 dotnet
System.Diagnostics.Tools 6.0.3024.21525 dotnet
System.Diagnostics.TraceSource 6.0.3024.21525 dotnet
System.Diagnostics.Tracing 6.0.3024.21525 dotnet
System.Drawing 6.0.3024.21525 dotnet
System.Drawing.Primitives 6.0.3024.21525 dotnet
System.Dynamic.Runtime 6.0.3024.21525 dotnet
System.Formats.Asn1 6.0.3024.21525 dotnet
System.Globalization 6.0.3024.21525 dotnet
System.Globalization.Calendars 6.0.3024.21525 dotnet
System.Globalization.Extensions 6.0.3024.21525 dotnet
System.IO 6.0.3024.21525 dotnet
System.IO.Compression 6.0.3024.21525 dotnet
System.IO.Compression.Brotli 6.0.3024.21525 dotnet
System.IO.Compression.FileSystem 6.0.3024.21525 dotnet
System.IO.Compression.ZipFile 6.0.3024.21525 dotnet
System.IO.FileSystem 6.0.3024.21525 dotnet
System.IO.FileSystem.AccessControl 6.0.3024.21525 dotnet
System.IO.FileSystem.DriveInfo 6.0.3024.21525 dotnet
System.IO.FileSystem.Primitives 6.0.3024.21525 dotnet
System.IO.FileSystem.Watcher 6.0.3024.21525 dotnet
System.IO.IsolatedStorage 6.0.3024.21525 dotnet
System.IO.MemoryMappedFiles 6.0.3024.21525 dotnet
System.IO.Pipes 6.0.3024.21525 dotnet
System.IO.Pipes.AccessControl 6.0.3024.21525 dotnet
System.IO.UnmanagedMemoryStream 6.0.3024.21525 dotnet
System.Linq 6.0.3024.21525 dotnet
System.Linq.Expressions 6.0.3024.21525 dotnet
System.Linq.Parallel 6.0.3024.21525 dotnet
System.Linq.Queryable 6.0.3024.21525 dotnet
System.Memory 6.0.3024.21525 dotnet
System.Net 6.0.3024.21525 dotnet
System.Net.Http 6.0.3024.21525 dotnet
System.Net.Http.Json 6.0.3024.21525 dotnet
System.Net.HttpListener 6.0.3024.21525 dotnet
System.Net.IPNetwork 2.5.235 dotnet
System.Net.Mail 4.700.22.56512 dotnet
System.Net.NameResolution 4.700.22.56512 dotnet
System.Net.NetworkInformation 4.700.22.56512 dotnet
System.Net.Ping 4.700.22.56512 dotnet
System.Net.Primitives 4.700.22.56512 dotnet
System.Net.Requests 4.700.22.56512 dotnet
System.Net.Security 4.700.22.56512 dotnet
System.Net.ServicePoint 4.700.22.56512 dotnet
System.Net.Sockets 4.700.22.56512 dotnet
System.Net.WebClient 4.700.22.56512 dotnet
System.Net.WebHeaderCollection 4.700.22.56512 dotnet
System.Net.WebProxy 4.700.22.56512 dotnet
System.Net.WebSockets 4.700.22.56512 dotnet
System.Net.WebSockets.Client 4.700.22.56512 dotnet
System.Numerics 4.700.22.56512 dotnet
System.Numerics.Vectors 4.700.22.56512 dotnet
System.ObjectModel 4.700.22.56512 dotnet
System.Private.CoreLib 4.700.22.55902 dotnet
System.Private.DataContractSerialization 4.700.22.56512 dotnet
System.Private.Uri 4.700.22.56512 dotnet
System.Private.Xml 4.700.22.56512 dotnet
System.Private.Xml.Linq 4.700.22.56512 dotnet
System.Reflection 4.700.22.56512 dotnet
System.Reflection.DispatchProxy 4.700.22.56512 dotnet
System.Reflection.Emit 4.700.22.56512 dotnet
System.Reflection.Emit.ILGeneration 4.700.22.56512 dotnet
System.Reflection.Emit.Lightweight 4.700.22.56512 dotnet
System.Reflection.Extensions 4.700.22.56512 dotnet
System.Reflection.Metadata 4.700.22.56512 dotnet
System.Reflection.Primitives 4.700.22.56512 dotnet
System.Reflection.TypeExtensions 4.700.22.56512 dotnet
System.Resources.Reader 4.700.22.56512 dotnet
System.Resources.ResourceManager 4.700.22.56512 dotnet
System.Resources.Writer 4.700.22.56512 dotnet
System.Runtime 4.700.22.56512 dotnet
System.Runtime.CompilerServices.VisualC 4.700.22.56512 dotnet
System.Runtime.Extensions 4.700.22.56512 dotnet
System.Runtime.Handles 4.700.22.56512 dotnet
System.Runtime.InteropServices 4.700.22.56512 dotnet
System.Runtime.InteropServices.RuntimeInformation 4.700.22.56512 dotnet
System.Runtime.InteropServices.WindowsRuntime 4.700.22.56512 dotnet
System.Runtime.Intrinsics 4.700.22.56512 dotnet
System.Runtime.Loader 4.700.22.56512 dotnet
System.Runtime.Numerics 4.700.22.56512 dotnet
System.Runtime.Serialization 4.700.22.56512 dotnet
System.Runtime.Serialization.Formatters 4.700.22.56512 dotnet
System.Runtime.Serialization.Json 4.700.22.56512 dotnet
System.Runtime.Serialization.Primitives 4.700.22.56512 dotnet
System.Runtime.Serialization.Xml 4.700.22.56512 dotnet
System.Runtime.WindowsRuntime 4.700.22.56512 dotnet
System.Runtime.WindowsRuntime.UI.Xaml 4.700.22.56512 dotnet
System.Security 4.700.22.56512 dotnet
System.Security.AccessControl 4.700.22.56512 dotnet
System.Security.Claims 4.700.22.56512 dotnet
System.Security.Cryptography.Algorithms 4.700.22.56512 dotnet
System.Security.Cryptography.Cng 4.700.22.56512 dotnet
System.Security.Cryptography.Csp 4.700.22.56512 dotnet
System.Security.Cryptography.Encoding 4.700.22.56512 dotnet
System.Security.Cryptography.OpenSsl 4.700.22.56512 dotnet
System.Security.Cryptography.Primitives 4.700.22.56512 dotnet
System.Net.Mail 6.0.3024.21525 dotnet
System.Net.NameResolution 6.0.3024.21525 dotnet
System.Net.NetworkInformation 6.0.3024.21525 dotnet
System.Net.Ping 6.0.3024.21525 dotnet
System.Net.Primitives 6.0.3024.21525 dotnet
System.Net.Quic 6.0.3024.21525 dotnet
System.Net.Requests 6.0.3024.21525 dotnet
System.Net.Security 6.0.3024.21525 dotnet
System.Net.ServicePoint 6.0.3024.21525 dotnet
System.Net.Sockets 6.0.3024.21525 dotnet
System.Net.WebClient 6.0.3024.21525 dotnet
System.Net.WebHeaderCollection 6.0.3024.21525 dotnet
System.Net.WebProxy 6.0.3024.21525 dotnet
System.Net.WebSockets 6.0.3024.21525 dotnet
System.Net.WebSockets.Client 6.0.3024.21525 dotnet
System.Numerics 6.0.3024.21525 dotnet
System.Numerics.Vectors 6.0.3024.21525 dotnet
System.ObjectModel 6.0.3024.21525 dotnet
System.Private.CoreLib 6.0.3024.21525 dotnet
System.Private.DataContractSerialization 6.0.3024.21525 dotnet
System.Private.Uri 6.0.3024.21525 dotnet
System.Private.Xml 6.0.3024.21525 dotnet
System.Private.Xml.Linq 6.0.3024.21525 dotnet
System.Reflection 6.0.3024.21525 dotnet
System.Reflection.DispatchProxy 6.0.3024.21525 dotnet
System.Reflection.Emit 6.0.3024.21525 dotnet
System.Reflection.Emit.ILGeneration 6.0.3024.21525 dotnet
System.Reflection.Emit.Lightweight 6.0.3024.21525 dotnet
System.Reflection.Extensions 6.0.3024.21525 dotnet
System.Reflection.Metadata 6.0.3024.21525 dotnet
System.Reflection.Primitives 6.0.3024.21525 dotnet
System.Reflection.TypeExtensions 6.0.3024.21525 dotnet
System.Resources.Reader 6.0.3024.21525 dotnet
System.Resources.ResourceManager 6.0.3024.21525 dotnet
System.Resources.Writer 6.0.3024.21525 dotnet
System.Runtime 6.0.3024.21525 dotnet
System.Runtime.CompilerServices.VisualC 6.0.3024.21525 dotnet
System.Runtime.Extensions 6.0.3024.21525 dotnet
System.Runtime.Handles 6.0.3024.21525 dotnet
System.Runtime.InteropServices 6.0.3024.21525 dotnet
System.Runtime.InteropServices.RuntimeInformation 6.0.3024.21525 dotnet
System.Runtime.Intrinsics 6.0.3024.21525 dotnet
System.Runtime.Loader 6.0.3024.21525 dotnet
System.Runtime.Numerics 6.0.3024.21525 dotnet
System.Runtime.Serialization 6.0.3024.21525 dotnet
System.Runtime.Serialization.Formatters 6.0.3024.21525 dotnet
System.Runtime.Serialization.Json 6.0.3024.21525 dotnet
System.Runtime.Serialization.Primitives 6.0.3024.21525 dotnet
System.Runtime.Serialization.Xml 6.0.3024.21525 dotnet
System.Security 6.0.3024.21525 dotnet
System.Security.AccessControl 6.0.3024.21525 dotnet
System.Security.Claims 6.0.3024.21525 dotnet
System.Security.Cryptography.Algorithms 6.0.3024.21525 dotnet
System.Security.Cryptography.Cng 6.0.3024.21525 dotnet
System.Security.Cryptography.Csp 6.0.3024.21525 dotnet
System.Security.Cryptography.Encoding 6.0.3024.21525 dotnet
System.Security.Cryptography.OpenSsl 6.0.3024.21525 dotnet
System.Security.Cryptography.Primitives 6.0.3024.21525 dotnet
System.Security.Cryptography.ProtectedData 5.0.20.51904 dotnet
System.Security.Cryptography.X509Certificates 4.700.22.56512 dotnet
System.Security.Principal 4.700.22.56512 dotnet
System.Security.Principal.Windows 4.700.22.56512 dotnet
System.Security.SecureString 4.700.22.56512 dotnet
System.ServiceModel.Web 4.700.22.56512 dotnet
System.ServiceProcess 4.700.22.56512 dotnet
System.Text.Encoding 4.700.22.56512 dotnet
System.Text.Encoding.CodePages 4.700.22.56512 dotnet
System.Text.Encoding.Extensions 4.700.22.56512 dotnet
System.Text.Encodings.Web 4.700.22.56512 dotnet
System.Text.Json 4.700.22.56512 dotnet
System.Text.RegularExpressions 4.700.22.56512 dotnet
System.Threading 4.700.22.56512 dotnet
System.Threading.Channels 4.700.22.56512 dotnet
System.Threading.Overlapped 4.700.22.56512 dotnet
System.Threading.Tasks 4.700.22.56512 dotnet
System.Threading.Tasks.Dataflow 4.700.22.56512 dotnet
System.Threading.Tasks.Extensions 4.700.22.56512 dotnet
System.Threading.Tasks.Parallel 4.700.22.56512 dotnet
System.Threading.Thread 4.700.22.56512 dotnet
System.Threading.ThreadPool 4.700.22.56512 dotnet
System.Threading.Timer 4.700.22.56512 dotnet
System.Transactions 4.700.22.56512 dotnet
System.Transactions.Local 4.700.22.56512 dotnet
System.ValueTuple 4.700.22.56512 dotnet
System.Web 4.700.22.56512 dotnet
System.Web.HttpUtility 4.700.22.56512 dotnet
System.Windows 4.700.22.56512 dotnet
System.Xml 4.700.22.56512 dotnet
System.Xml.Linq 4.700.22.56512 dotnet
System.Xml.ReaderWriter 4.700.22.56512 dotnet
System.Xml.Serialization 4.700.22.56512 dotnet
System.Xml.XDocument 4.700.22.56512 dotnet
System.Xml.XPath 4.700.22.56512 dotnet
System.Xml.XPath.XDocument 4.700.22.56512 dotnet
System.Xml.XmlDocument 4.700.22.56512 dotnet
System.Xml.XmlSerializer 4.700.22.56512 dotnet
WindowsBase 4.700.22.56512 dotnet
alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r2 apk
System.Security.Cryptography.X509Certificates 6.0.3024.21525 dotnet
System.Security.Principal 6.0.3024.21525 dotnet
System.Security.Principal.Windows 6.0.3024.21525 dotnet
System.Security.SecureString 6.0.3024.21525 dotnet
System.ServiceModel.Web 6.0.3024.21525 dotnet
System.ServiceProcess 6.0.3024.21525 dotnet
System.Text.Encoding 6.0.3024.21525 dotnet
System.Text.Encoding.CodePages 6.0.3024.21525 dotnet
System.Text.Encoding.Extensions 6.0.3024.21525 dotnet
System.Text.Encodings.Web 6.0.3024.21525 dotnet
System.Text.Json 6.0.3024.21525 dotnet
System.Text.RegularExpressions 6.0.3024.21525 dotnet
System.Threading 6.0.3024.21525 dotnet
System.Threading.Channels 6.0.3024.21525 dotnet
System.Threading.Overlapped 6.0.3024.21525 dotnet
System.Threading.Tasks 6.0.3024.21525 dotnet
System.Threading.Tasks.Dataflow 6.0.3024.21525 dotnet
System.Threading.Tasks.Extensions 6.0.3024.21525 dotnet
System.Threading.Tasks.Parallel 6.0.3024.21525 dotnet
System.Threading.Thread 6.0.3024.21525 dotnet
System.Threading.ThreadPool 6.0.3024.21525 dotnet
System.Threading.Timer 6.0.3024.21525 dotnet
System.Transactions 6.0.3024.21525 dotnet
System.Transactions.Local 6.0.3024.21525 dotnet
System.ValueTuple 6.0.3024.21525 dotnet
System.Web 6.0.3024.21525 dotnet
System.Web.HttpUtility 6.0.3024.21525 dotnet
System.Windows 6.0.3024.21525 dotnet
System.Xml 6.0.3024.21525 dotnet
System.Xml.Linq 6.0.3024.21525 dotnet
System.Xml.ReaderWriter 6.0.3024.21525 dotnet
System.Xml.Serialization 6.0.3024.21525 dotnet
System.Xml.XDocument 6.0.3024.21525 dotnet
System.Xml.XPath 6.0.3024.21525 dotnet
System.Xml.XPath.XDocument 6.0.3024.21525 dotnet
System.Xml.XmlDocument 6.0.3024.21525 dotnet
System.Xml.XmlSerializer 6.0.3024.21525 dotnet
WindowsBase 6.0.3024.21525 dotnet
alpine-baselayout 3.6.5-r0 apk
alpine-baselayout-data 3.6.5-r0 apk
alpine-keys 2.4-r1 apk
alpine-release 3.19.1-r0 apk
apk-tools 2.14.0-r5 apk
bash 5.2.21-r0 apk
brotli-libs 1.1.0-r1 apk
busybox 1.36.1-r15 apk
busybox-binsh 1.36.1-r15 apk
c-ares 1.27.0-r0 apk
ca-certificates 20240226-r0 apk
ca-certificates-bundle 20240226-r0 apk
coreutils 9.4-r2 apk
coreutils-env 9.4-r2 apk
coreutils-fmt 9.4-r2 apk
coreutils-sha512sum 9.4-r2 apk
curl 8.5.0-r0 apk
dbus-libs 1.14.10-r0 apk
alpine-release 3.20.2-r0 apk
apk-tools 2.14.4-r0 apk
bash 5.2.26-r0 apk
brotli-libs 1.1.0-r2 apk
busybox 1.36.1-r29 apk
busybox-binsh 1.36.1-r29 apk
c-ares 1.28.1-r0 apk
ca-certificates 20240705-r0 apk
ca-certificates-bundle 20240705-r0 apk
catatonit 0.2.0-r0 apk
coreutils 9.5-r1 apk
coreutils-env 9.5-r1 apk
coreutils-fmt 9.5-r1 apk
coreutils-sha512sum 9.5-r1 apk
curl 8.9.0-r0 apk
dbus-libs 1.14.10-r1 apk
double-conversion 3.3.0-r0 apk
duktape 2.7.0-r1 apk
findutils 4.9.0-r5 apk
gdbm 1.23-r1 apk
glib 2.78.4-r0 apk
icu-data-en 74.1-r0 apk
icu-libs 74.1-r0 apk
glib 2.80.2-r0 apk
icu-data-en 74.2-r0 apk
icu-libs 74.2-r0 apk
jq 1.7.1-r0 apk
libacl 2.3.1-r4 apk
libattr 2.5.1-r5 apk
libacl 2.3.2-r0 apk
libattr 2.5.2-r0 apk
libb2 0.98.1-r3 apk
libblkid 2.39.3-r0 apk
libbsd 0.11.7-r3 apk
libblkid 2.40.1-r1 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libc-utils 0.7.2-r5 apk
libcrypto3 3.1.4-r5 apk
libcurl 8.5.0-r0 apk
libcrypto3 3.3.1-r3 apk
libcurl 8.9.0-r0 apk
libeconf 0.6.3-r0 apk
libexpat 2.6.2-r0 apk
libffi 3.4.4-r3 apk
libgcc 13.2.1_git20231014-r0 apk
libgomp 13.2.1_git20231014-r0 apk
libidn2 2.3.4-r4 apk
libintl 0.22.3-r0 apk
libffi 3.4.6-r0 apk
libgcc 13.2.1_git20240309-r0 apk
libgomp 13.2.1_git20240309-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libmd 1.1.0-r0 apk
libmount 2.39.3-r0 apk
libncursesw 6.4_p20231125-r0 apk
libpanelw 6.4_p20231125-r0 apk
libpcre2-16 10.42-r2 apk
libmount 2.40.1-r1 apk
libncursesw 6.4_p20240420-r0 apk
libpanelw 6.4_p20240420-r0 apk
libpcre2-16 10.43-r0 apk
libproc2 4.0.4-r0 apk
libproxy 0.5.3-r0 apk
libssl3 3.1.4-r5 apk
libstdc++ 13.2.1_git20231014-r0 apk
libunistring 1.1-r2 apk
linux-pam 1.5.3-r7 apk
mpdecimal 2.5.1-r2 apk
mscorlib 4.700.22.56512 dotnet
musl 1.2.4_git20230717-r4 apk
musl-utils 1.2.4_git20230717-r4 apk
ncurses-terminfo-base 6.4_p20231125-r0 apk
libproxy 0.5.6-r0 apk
libpsl 0.21.5-r1 apk
libssl3 3.3.1-r3 apk
libstdc++ 13.2.1_git20240309-r0 apk
libunistring 1.2-r0 apk
linux-pam 1.6.0-r0 apk
mpdecimal 4.0.0-r0 apk
mscorlib 6.0.3024.21525 dotnet
musl 1.2.5-r0 apk
musl-utils 1.2.5-r0 apk
ncurses-terminfo-base 6.4_p20240420-r0 apk
netcat-openbsd 1.226-r0 apk
netstandard 4.700.22.56512 dotnet
nghttp2-libs 1.58.0-r0 apk
netstandard 6.0.3024.21525 dotnet
nghttp2-libs 1.62.1-r0 apk
oniguruma 6.9.9-r0 apk
pcre2 10.42-r2 apk
pcre2 10.43-r0 apk
procps-ng 4.0.4-r0 apk
pyc 3.11.8-r0 apk
python3 3.11.8-r0 apk
python3-pyc 3.11.8-r0 apk
python3-pycache-pyc0 3.11.8-r0 apk
qbt 1.8.24012.1+00a638ba43f1a80a03cc8be139f586ce9886c908 dotnet
qt6-qtbase 6.6.1-r0 apk
qt6-qtbase-sqlite 6.6.1-r0 apk
readline 8.2.1-r2 apk
pyc 3.12.3-r1 apk
python3 3.12.3-r1 apk
python3-pyc 3.12.3-r1 apk
python3-pycache-pyc0 3.12.3-r1 apk
qbt 1.8.24199.1+738bca0d7d7585cf40629f13a59b6198eaf6fe64 dotnet
qt6-qtbase 6.6.3-r0 apk
qt6-qtbase-sqlite 6.6.3-r0 apk
readline 8.2.10-r0 apk
scanelf 1.3.7-r2 apk
shadow 4.14.2-r0 apk
skalibs 2.14.0.1-r0 apk
sqlite-libs 3.44.2-r0 apk
ssl_client 1.36.1-r15 apk
tzdata 2024a-r0 apk
utmps-libs 0.1.2.2-r0 apk
xz-libs 5.4.5-r0 apk
zlib 1.3.1-r0 apk
zstd-libs 1.5.5-r8 apk
shadow 4.15.1-r0 apk
skalibs 2.14.1.1-r0 apk
sqlite-libs 3.45.3-r1 apk
ssl_client 1.36.1-r29 apk
tzdata 2024a-r1 apk
utmps-libs 0.1.2.2-r1 apk
xz-libs 5.6.2-r0 apk
zlib 1.3.1-r1 apk
zstd-libs 1.5.6-r0 apk

View File

@@ -23,8 +23,7 @@ common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/qbittorrent/config", desc: "Contains all relevant configuration files." }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Location of downloads on disk." }
- { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/appdata", desc: "Contains all relevant configuration files." }
param_usage_include_ports: true
param_ports:
- { external_port: "8080", internal_port: "8080", port_desc: "WebUI" }
@@ -34,6 +33,11 @@ param_usage_include_env: true
param_env_vars:
- { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the web UI, see below for explanation"}
- { env_var: "TORRENTING_PORT", env_value: "6881", desc: "for changing the port of tcp/udp connection, see below for explanation" }
opt_param_usage_include_vols: true
opt_param_volumes:
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Location of downloads on disk." }
readonly_supported: true
# application setup block
app_setup_block_enabled: true
@@ -58,6 +62,8 @@ app_setup_block: |
# changelog
changelogs:
- { date: "17.07.24:", desc: "Restore qbittorrent-cli as it now supports openssl 3." }
- { date: "25.05.24:", desc: "Rebase to Alpine 3.20, remove qbittorrent-cli as it still requires openssl 1.1 which is EOL." }
- { date: "14.02.24:", desc: "Only set/override torrenting port if the optional env var is set." }
- { date: "14.02.24:", desc: "Add torrenting port support." }
- { date: "31.01.24:", desc: "Rebase to Alpine 3.19."}

View File

@@ -10,10 +10,8 @@ if [[ ! -f /config/qBittorrent/qBittorrent.conf ]]; then
fi
# chown download directory if currently not set to abc
if [[ -d /downloads ]]; then
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
lsiown -R abc:abc /downloads
fi
if grep -qe ' /downloads ' /proc/mounts; then
lsiown abc:abc /downloads
fi
# permissions

View File

@@ -1,4 +1,5 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# qbt bash wrapper to prompt user when trying to save password
if [[ "$@" == "settings set password" ]]; then