mirror of
https://github.com/linuxserver/docker-qbittorrent.git
synced 2025-04-18 19:25:07 -04:00
first save up
This commit is contained in:
commit
9d3781519b
12 changed files with 341 additions and 0 deletions
6
.dockerignore
Normal file
6
.dockerignore
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.github
|
||||||
|
.gitattributes
|
||||||
|
READMETEMPLATE.md
|
||||||
|
README.md
|
17
.gitattributes
vendored
Normal file
17
.gitattributes
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Custom for Visual Studio
|
||||||
|
*.cs diff=csharp
|
||||||
|
|
||||||
|
# Standard to msysgit
|
||||||
|
*.doc diff=astextplain
|
||||||
|
*.DOC diff=astextplain
|
||||||
|
*.docx diff=astextplain
|
||||||
|
*.DOCX diff=astextplain
|
||||||
|
*.dot diff=astextplain
|
||||||
|
*.DOT diff=astextplain
|
||||||
|
*.pdf diff=astextplain
|
||||||
|
*.PDF diff=astextplain
|
||||||
|
*.rtf diff=astextplain
|
||||||
|
*.RTF diff=astextplain
|
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<!--- Provide a general summary of the issue in the Title above -->
|
||||||
|
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
|
||||||
|
<!--- If you have an issue with the project, please provide us with the following information -->
|
||||||
|
|
||||||
|
<!--- Host OS -->
|
||||||
|
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
|
||||||
|
<!--- Docker log output, docker log <container-name> -->
|
||||||
|
<!--- Mention if you're using symlinks on any of the volume mounts. -->
|
||||||
|
|
||||||
|
|
||||||
|
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
|
||||||
|
|
||||||
|
<!--- What you think your suggestion brings to the project, or fixes with the project -->
|
||||||
|
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
|
||||||
|
|
||||||
|
## Thanks, team linuxserver.io
|
||||||
|
|
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<!--- Provide a general summary of your changes in the Title above -->
|
||||||
|
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
|
||||||
|
<!--- Before submitting a pull request please check the following -->
|
||||||
|
|
||||||
|
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
|
||||||
|
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
||||||
|
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
||||||
|
<!--- -->
|
||||||
|
|
||||||
|
## Thanks, team linuxserver.io
|
||||||
|
|
43
.gitignore
vendored
Normal file
43
.gitignore
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# Windows image file caches
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# Operating System Files
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
# OSX
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear on external disk
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
86
Dockerfile
Normal file
86
Dockerfile
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
FROM lsiobase/alpine:3.5
|
||||||
|
MAINTAINER sparklyballs
|
||||||
|
|
||||||
|
# set version label
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG VERSION
|
||||||
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
|
|
||||||
|
# package versions
|
||||||
|
ARG QBITTORRENT_VER="3.3.12"
|
||||||
|
ARG RASTERBAR_VER="1.0.11"
|
||||||
|
|
||||||
|
# environment settings
|
||||||
|
ENV HOME="/config" \
|
||||||
|
XDG_CONFIG_HOME="/config" \
|
||||||
|
XDG_DATA_HOME="/config"
|
||||||
|
|
||||||
|
# copy patches
|
||||||
|
COPY patches/ /tmp/patches
|
||||||
|
|
||||||
|
# install build packages
|
||||||
|
RUN \
|
||||||
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
|
boost-dev \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
g++ \
|
||||||
|
make \
|
||||||
|
qt5-qttools-dev && \
|
||||||
|
|
||||||
|
# install runtime packages
|
||||||
|
apk add --no-cache \
|
||||||
|
boost-system \
|
||||||
|
boost-thread \
|
||||||
|
ca-certificates \
|
||||||
|
qt5-qtbase && \
|
||||||
|
|
||||||
|
# compile libtorrent rasterbar
|
||||||
|
RASTERBAR_VER2=${RASTERBAR_VER//./_} && \
|
||||||
|
mkdir -p \
|
||||||
|
/tmp/rasterbar-src && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/rasterbar.tar.gz -L \
|
||||||
|
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-${RASTERBAR_VER2}/libtorrent-rasterbar-${RASTERBAR_VER}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/rasterbar.tar.gz -C \
|
||||||
|
/tmp/rasterbar-src --strip-components=1 && \
|
||||||
|
cd /tmp/rasterbar-src && \
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr && \
|
||||||
|
make && \
|
||||||
|
make install && \
|
||||||
|
strip --strip-unneeded \
|
||||||
|
/usr/lib/libtorrent-rasterbar.so* \
|
||||||
|
/usr/lib/libtorrent-rasterbar.a* && \
|
||||||
|
|
||||||
|
# compile qbittorrent
|
||||||
|
mkdir -p \
|
||||||
|
/tmp/qbittorrent-src && \
|
||||||
|
curl -o \
|
||||||
|
/tmp/bittorrent.tar.gz -L \
|
||||||
|
"https://github.com/qbittorrent/qBittorrent/archive/release-${QBITTORRENT_VER}.tar.gz" && \
|
||||||
|
tar xf \
|
||||||
|
/tmp/bittorrent.tar.gz -C \
|
||||||
|
/tmp/qbittorrent-src --strip-components=1 && \
|
||||||
|
cd /tmp/qbittorrent-src/src/app && \
|
||||||
|
patch -i /tmp/patches/main.patch && \
|
||||||
|
cd /tmp/qbittorrent-src && \
|
||||||
|
./configure \
|
||||||
|
--disable-gui \
|
||||||
|
--prefix=/usr && \
|
||||||
|
make && \
|
||||||
|
make install && \
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
apk del --purge \
|
||||||
|
build-dependencies && \
|
||||||
|
rm -rf \
|
||||||
|
/tmp/*
|
||||||
|
|
||||||
|
# add local files
|
||||||
|
COPY root/ /
|
||||||
|
|
||||||
|
# ports and volumes
|
||||||
|
EXPOSE 6881 6881/udp 8080
|
||||||
|
VOLUME /config /downloads
|
15
README.md
Normal file
15
README.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[forumurl]: https://forum.linuxserver.io
|
||||||
|
[ircurl]: https://www.linuxserver.io/irc/
|
||||||
|
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||||
|
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
## This is a Container in active development by the [LinuxServer.io][linuxserverurl] team and is not recommended for use by the general public.
|
||||||
|
|
||||||
|
If you want to comment\contribute on this container , are looking for support on any of our other work , or are curious about us in general, check out the following.
|
||||||
|
|
||||||
|
* [forum.linuxserver.io][forumurl]
|
||||||
|
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||||
|
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||||
|
|
90
READMETEMPLATE.md
Normal file
90
READMETEMPLATE.md
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[forumurl]: https://forum.linuxserver.io
|
||||||
|
[ircurl]: https://www.linuxserver.io/irc/
|
||||||
|
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||||
|
[appurl]: https://www.qbittorrent.org
|
||||||
|
[hub]: https://hub.docker.com/r/linuxserver/qbittorrent/
|
||||||
|
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||||
|
* [forum.linuxserver.io][forumurl]
|
||||||
|
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||||
|
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||||
|
|
||||||
|
# linuxserver/qbittorrent
|
||||||
|
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")[](http://microbadger.com/images/linuxserver/qbittorrent "Get your own image badge on microbadger.com")[][hub][][hub][](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-qbittorrent/)
|
||||||
|
|
||||||
|
The [qBittorrent][appurl] project aims to provide an open-source software alternative to µTorrent.
|
||||||
|
qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library.
|
||||||
|
|
||||||
|
[![qbittorrent]()][appurl]
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
docker create \
|
||||||
|
--name=qbittorrent \
|
||||||
|
-v <path to config>:/config \
|
||||||
|
-v <path to downloads>:/downloads \
|
||||||
|
-e PGID=<gid> -e PUID=<uid> \
|
||||||
|
-e TZ=<timezone> \
|
||||||
|
-e UMASK_SET=<022> \
|
||||||
|
-p 6881:6881 \
|
||||||
|
-p 6881:6881/udp \
|
||||||
|
-p 8080:8080 \
|
||||||
|
linuxserver/qbittorrent
|
||||||
|
```
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
|
||||||
|
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
|
||||||
|
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
|
||||||
|
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* `-p 6881` - the port(s)
|
||||||
|
* `-p 6881/udp` - the port(s)
|
||||||
|
* `-p 8080` - the port(s)
|
||||||
|
* `-v /config` - Where qbittorrent should store its config files
|
||||||
|
* `-v /downloads` - Path to downloads
|
||||||
|
* `-e PGID` for GroupID - see below for explanation
|
||||||
|
* `-e PUID` for UserID - see below for explanation
|
||||||
|
|
||||||
|
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it qbittorrent /bin/bash`.
|
||||||
|
|
||||||
|
### User / Group Identifiers
|
||||||
|
|
||||||
|
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
|
||||||
|
|
||||||
|
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ id <dockeruser>
|
||||||
|
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setting up the application
|
||||||
|
|
||||||
|
The webui is at `<your-ip>:8080` and the default username/password is admin/adminadmin.
|
||||||
|
Change username/password via the webui in the webui section of settings.
|
||||||
|
|
||||||
|
|
||||||
|
## Info
|
||||||
|
|
||||||
|
* Shell access whilst the container is running: `docker exec -it qbittorrent /bin/bash`
|
||||||
|
* To monitor the logs of the container in realtime: `docker logs -f qbittorrent`
|
||||||
|
|
||||||
|
* container version number
|
||||||
|
|
||||||
|
`docker inspect -f '{{ index .Config.Labels "build_version" }}' qbittorrent`
|
||||||
|
|
||||||
|
* image version number
|
||||||
|
|
||||||
|
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/qbittorrent`
|
||||||
|
|
||||||
|
## Versions
|
||||||
|
|
||||||
|
+ **dd.MM.yy:** Initial Release.
|
14
patches/main.patch
Normal file
14
patches/main.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- src/app/main.cpp
|
||||||
|
+++ src/app/main.cpp
|
||||||
|
@@ -59,8 +59,9 @@
|
||||||
|
|
||||||
|
#ifdef Q_OS_UNIX
|
||||||
|
#include <signal.h>
|
||||||
|
-#include <execinfo.h>
|
||||||
|
-#include "stacktrace.h"
|
||||||
|
+static inline void print_stacktrace(FILE *out = stderr, unsigned int max_frames = 63) {
|
||||||
|
+ fprintf(out, "stack trace:\n N/A (%d)", max_frames);
|
||||||
|
+}
|
||||||
|
#endif // Q_OS_UNIX
|
||||||
|
|
||||||
|
#ifdef STACKTRACE_WIN
|
12
root/defaults/qBittorrent.conf
Normal file
12
root/defaults/qBittorrent.conf
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[AutoRun]
|
||||||
|
enabled=false
|
||||||
|
program=
|
||||||
|
|
||||||
|
[LegalNotice]
|
||||||
|
Accepted=true
|
||||||
|
|
||||||
|
[Preferences]
|
||||||
|
Connection\PortRangeMin=6881
|
||||||
|
Downloads\SavePath=/downloads/
|
||||||
|
Downloads\ScanDirsV2=@Variant(\0\0\0\x1c\0\0\0\0)
|
||||||
|
Downloads\TempPath=/downloads/incomplete/
|
14
root/etc/cont-init.d/30-config
Normal file
14
root/etc/cont-init.d/30-config
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
# make our folders
|
||||||
|
mkdir -p \
|
||||||
|
/config/qBittorrent \
|
||||||
|
/config/data
|
||||||
|
|
||||||
|
# copy config
|
||||||
|
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
|
||||||
|
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
|
||||||
|
|
||||||
|
# permissions
|
||||||
|
chown -R abc:abc \
|
||||||
|
/config
|
8
root/etc/services.d/qbittorrent/run
Normal file
8
root/etc/services.d/qbittorrent/run
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
UMASK_SET=${UMASK_SET:-022}
|
||||||
|
|
||||||
|
umask "$UMASK_SET"
|
||||||
|
|
||||||
|
exec \
|
||||||
|
s6-setuidgid abc /usr/bin/qbittorrent-nox
|
Loading…
Add table
Reference in a new issue