Compare commits
2 commits
dependabot
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93399ca574 | ||
|
|
f07d2ebcdb |
7 changed files with 13 additions and 196 deletions
14
.github/dependabot.yml
vendored
14
.github/dependabot.yml
vendored
|
|
@ -1,14 +0,0 @@
|
||||||
version: 2
|
|
||||||
updates:
|
|
||||||
|
|
||||||
# Maintain dependencies for GitHub Actions
|
|
||||||
- package-ecosystem: "github-actions"
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: "daily"
|
|
||||||
|
|
||||||
# Maintain dependencies for docker
|
|
||||||
- package-ecosystem: "docker"
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: "daily"
|
|
||||||
105
.github/workflows/auto-update.yml
vendored
105
.github/workflows/auto-update.yml
vendored
|
|
@ -1,105 +0,0 @@
|
||||||
name: update-bot
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
schedule:
|
|
||||||
- cron: '30 23 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
img_ver: ${{ steps.check_ver.outputs.img_ver }}
|
|
||||||
qbt_ver: ${{ steps.check_ver.outputs.qbt_ver }}
|
|
||||||
lib_ver: ${{ steps.check_ver.outputs.lib_ver }}
|
|
||||||
is_new: ${{ steps.check_ver.outputs.is_new }}
|
|
||||||
latest: ${{ steps.check_ver.outputs.latest }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Check version
|
|
||||||
id: check_ver
|
|
||||||
run: |
|
|
||||||
OLD_VER=$(curl -s "${GHCR_URL}" | grep -Po "(\d+\.)+\d+(|beta\d+|rc\d+)-r\d+" | head -1)
|
|
||||||
NEW_TAG=$(curl -s "${REPO_TAGS}" | grep -Po "(\d+\.)+\d+(|beta\d+|rc\d+)\.zip" | head -1)
|
|
||||||
LIB_VER=$(jq -r '.libtorrent' ./latest.json)
|
|
||||||
QBT_VER=$(jq -r '.qbittorrent' ./latest.json)
|
|
||||||
PKG_REL=$(jq -r '.pkgrel' ./latest.json)
|
|
||||||
if echo "${NEW_TAG%.zip}" | grep -Pq "^(\d+\.){2}\d+$"; then
|
|
||||||
echo "::set-output name=latest::type=raw,latest"
|
|
||||||
elif [ ${{ github.event_name }} == 'push' ]; then
|
|
||||||
IMG_VER="${QBT_VER}-r${PKG_REL}"
|
|
||||||
else
|
|
||||||
QBT_VER="${NEW_TAG%.zip}"
|
|
||||||
IMG_VER="${QBT_VER}-r0"
|
|
||||||
fi
|
|
||||||
IS_NEW=$([[ "${IMG_VER}" != "${OLD_VER}" ]] && echo "yes" || echo "no")
|
|
||||||
echo "::set-output name=img_ver::${IMG_VER}"
|
|
||||||
echo "::set-output name=qbt_ver::${QBT_VER}"
|
|
||||||
echo "::set-output name=lib_ver::${LIB_VER}"
|
|
||||||
echo "::set-output name=is_new::${IS_NEW}"
|
|
||||||
env:
|
|
||||||
GHCR_URL: https://github.com/mogeko/docker-qbittorrent/pkgs/container/qbittorrent
|
|
||||||
REPO_TAGS: https://github.com/qbittorrent/qBittorrent/tags
|
|
||||||
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: check
|
|
||||||
if: ${{ needs.check.outputs.is_new == 'yes' }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Log in to Docker Hub
|
|
||||||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Log in to the Container registry
|
|
||||||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@e5622373a38e60fb6d795a4421e56882f2d7a681
|
|
||||||
with:
|
|
||||||
images: |
|
|
||||||
${{ github.repository_owner }}/qbittorrent
|
|
||||||
ghcr.io/${{ github.repository_owner }}/qbittorrent
|
|
||||||
tags: |
|
|
||||||
type=edge
|
|
||||||
type=schedule,pattern={{date 'YYYYMMDD'}}
|
|
||||||
type=raw,${{ needs.check.outputs.img_ver }}
|
|
||||||
${{ needs.check.outputs.latest }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
id: build
|
|
||||||
uses: docker/build-push-action@a66e35b9cbcf4ad0ea91ffcaf7bbad63ad9e0229
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
build-args: |
|
|
||||||
QBITTORRENT_VERSION=${{ needs.check.outputs.qbt_ver }}
|
|
||||||
LIBTORRENT_VERSION=${{ needs.check.outputs.lib_ver }}
|
|
||||||
|
|
||||||
- name: Save metadata
|
|
||||||
run: echo ${{ toJSON(steps.build.outputs.metadata) }} > ${{ github.workspace }}/meta.json
|
|
||||||
|
|
||||||
- name: Update metadata
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: metadata
|
|
||||||
path: ${{ github.workspace }}/meta.json
|
|
||||||
61
.github/workflows/build.yml
vendored
61
.github/workflows/build.yml
vendored
|
|
@ -1,61 +0,0 @@
|
||||||
name: Build Container
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches-ignore:
|
|
||||||
- master
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
new_ver: ${{ steps.check_ver.outputs.new_ver }}
|
|
||||||
latest: ${{ steps.check_ver.outputs.latest }}
|
|
||||||
steps:
|
|
||||||
- name: Check version
|
|
||||||
id: check_ver
|
|
||||||
run: |
|
|
||||||
NEW_TAG=$(curl -s "${REPO_TAGS}" | grep -Po "(\d+\.)+\d+(|beta\d+|rc\d+)\.zip" | head -1)
|
|
||||||
if echo "${NEW_TAG%.zip}" | grep -Pq "^(\d+\.){2}\d+$"; then
|
|
||||||
echo "::set-output name=latest::type=raw,latest"
|
|
||||||
fi
|
|
||||||
echo "::set-output name=new_ver::${NEW_TAG%.zip}-r0"
|
|
||||||
env:
|
|
||||||
REPO_TAGS: https://github.com/qbittorrent/qBittorrent/tags
|
|
||||||
|
|
||||||
meta:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: check
|
|
||||||
permissions:
|
|
||||||
packages: write
|
|
||||||
contents: read
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@e5622373a38e60fb6d795a4421e56882f2d7a681
|
|
||||||
with:
|
|
||||||
images: |
|
|
||||||
${{ github.repository_owner }}/qbittorrent
|
|
||||||
ghcr.io/${{ github.repository_owner }}/qbittorrent
|
|
||||||
tags: |
|
|
||||||
type=edge
|
|
||||||
type=schedule,pattern={{date 'YYYYMMDD'}}
|
|
||||||
type=raw,${{ needs.check.outputs.new_ver }}
|
|
||||||
${{ needs.check.outputs.latest }}
|
|
||||||
|
|
||||||
- name: Save status
|
|
||||||
run: echo ${{ toJSON(steps.meta.outputs.json) }} > ${{ github.workspace }}/status.json
|
|
||||||
|
|
||||||
- name: Update status
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: status
|
|
||||||
path: ${{ github.workspace }}/status.json
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
FROM alpine:3.14 as base_clang
|
FROM alpine:latest as base_clang
|
||||||
|
|
||||||
RUN apk add --no-cache boost-build boost-dev build-base clang-dev cmake ninja
|
RUN apk add --no-cache boost-build boost-dev build-base clang-dev cmake ninja
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ RUN cmake . -DCMAKE_BUILD_TYPE=Release \
|
||||||
&& ninja -j$(nproc) \
|
&& ninja -j$(nproc) \
|
||||||
&& ninja install
|
&& ninja install
|
||||||
|
|
||||||
FROM alpine:3.14
|
FROM alpine:latest
|
||||||
|
|
||||||
RUN apk add --no-cache busybox libgcc openssl qt5-qtbase zlib
|
RUN apk add --no-cache busybox libgcc openssl qt5-qtbase zlib
|
||||||
|
|
||||||
|
|
|
||||||
2
Makefile
2
Makefile
|
|
@ -2,7 +2,7 @@ LIBTORRENT_VERSION = $(shell jq -r '.libtorrent' ./latest.json)
|
||||||
QBITTORRENT_VERSION = $(shell jq -r '.qbittorrent' ./latest.json)
|
QBITTORRENT_VERSION = $(shell jq -r '.qbittorrent' ./latest.json)
|
||||||
|
|
||||||
CMD = /usr/bin/docker
|
CMD = /usr/bin/docker
|
||||||
IMAGE = mogeko/qbittorrent
|
IMAGE = ak95888/qbittorrent-rootless
|
||||||
PORT = 8080
|
PORT = 8080
|
||||||
CONF_DIR = $(shell pwd)/example/config
|
CONF_DIR = $(shell pwd)/example/config
|
||||||
DL_DIR = $(shell pwd)/example/data
|
DL_DIR = $(shell pwd)/example/data
|
||||||
|
|
|
||||||
19
README.md
19
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# docker-qbittorrent
|
# docker-qbittorrent
|
||||||
|
|
||||||
[![ci_icon]][ci_link] [![image_size]][docker_link] [![image_ver]][docker_link] [![unstable]][docker_link]
|
[![image_size]][docker_link] [![image_ver]][docker_link]
|
||||||
|
|
||||||
Docker image for qBittorrent.
|
Docker image for qBittorrent.
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ Docker image for qBittorrent.
|
||||||
Pull this image:
|
Pull this image:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker pull ghcr.io/mogeko/qbittorrent
|
docker pull ak95888/qbittorrent-rootless
|
||||||
```
|
```
|
||||||
|
|
||||||
Run with docker cli:
|
Run with docker cli:
|
||||||
|
|
@ -31,7 +31,7 @@ docker run -d \
|
||||||
-v /path/to/config:/config \
|
-v /path/to/config:/config \
|
||||||
-v /path/to/downloads:/downloads \
|
-v /path/to/downloads:/downloads \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
ghcr.io/mogeko/qbittorrent
|
ak95888/qbittorrent-rootless
|
||||||
```
|
```
|
||||||
|
|
||||||
Run with [docker-compose]:
|
Run with [docker-compose]:
|
||||||
|
|
@ -41,7 +41,7 @@ Run with [docker-compose]:
|
||||||
version: 2.1
|
version: 2.1
|
||||||
services:
|
services:
|
||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: ghcr.io/mogeko/qbittorrent
|
image: ak95888/qbittorrent-rootless
|
||||||
container_name: qbittorrent
|
container_name: qbittorrent
|
||||||
user: 1000:100 #optional
|
user: 1000:100 #optional
|
||||||
environment:
|
environment:
|
||||||
|
|
@ -74,7 +74,7 @@ The `qbittorrent-nox`'s options may be supplied via environment variables[^2]. F
|
||||||
More help message about `qbittorrent-nox`, you can get via:
|
More help message about `qbittorrent-nox`, you can get via:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -it ghcr.io/mogeko/qbittorrent --help
|
docker run -it ak95888/qbittorrent-rootless --help
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
@ -89,15 +89,12 @@ The code in this project is released under the [GPL-3.0 License][license].
|
||||||
|
|
||||||
<!-- badge -->
|
<!-- badge -->
|
||||||
|
|
||||||
[ci_icon]: https://github.com/mogeko/docker-qbittorrent/actions/workflows/auto-update.yml/badge.svg
|
|
||||||
[ci_link]: https://github.com/mogeko/docker-qbittorrent/actions/workflows/auto-update.yml
|
|
||||||
[image_size]: https://img.shields.io/docker/image-size/mogeko/qbittorrent/latest?logo=docker
|
[image_size]: https://img.shields.io/docker/image-size/mogeko/qbittorrent/latest?logo=docker
|
||||||
[image_ver]: https://img.shields.io/docker/v/mogeko/qbittorrent/latest?label=latest&logo=docker
|
[image_ver]: https://img.shields.io/docker/v/ak95888/qbittorrent-rootless/latest?label=latest&logo=docker
|
||||||
[unstable]: https://img.shields.io/docker/v/mogeko/qbittorrent?label=edge&logo=docker
|
[docker_link]: https://hub.docker.com/r/ak95888/qbittorrent-rootless
|
||||||
[docker_link]: https://hub.docker.com/r/mogeko/qbittorrent
|
|
||||||
|
|
||||||
<!-- links -->
|
<!-- links -->
|
||||||
|
|
||||||
[docker-compose]: https://docs.docker.com/compose
|
[docker-compose]: https://docs.docker.com/compose
|
||||||
[license]: https://github.com/mogeko/docker-qbittorrent/blob/master/LICENSE
|
[license]: https://codeberg.org/ak95/docker-qbittorrent/src/branch/master/LICENSE
|
||||||
[podman]: https://podman.io
|
[podman]: https://podman.io
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"qbittorrent": "4.4.0rc1",
|
"qbittorrent": "4.6.7",
|
||||||
"libtorrent": "2.0.4",
|
"libtorrent": "2.0.10",
|
||||||
"pkgrel": 0
|
"pkgrel": 0
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue