Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18eadcefdb | ||
|
|
07e75f2949 | ||
|
|
3c3ae9cab1 | ||
|
|
c5579f753b | ||
|
|
9c178a4fdf | ||
|
|
6b61bdc9d9 | ||
|
|
4929d34e2f | ||
|
|
9c8ffeb5ba | ||
|
|
bf017d1624 | ||
|
|
35b6e2315e | ||
|
|
1c4d1c4d6a | ||
|
|
ed55418fc2 | ||
|
|
f8219eae32 | ||
|
|
917f7421e9 | ||
|
|
55f0728496 | ||
|
|
fef8110e7c | ||
|
|
7ae345b4db | ||
|
|
68c13b9cf7 | ||
|
|
30405dc340 | ||
|
|
996e418754 | ||
|
|
b52b6785aa | ||
|
|
37ca9f334c | ||
|
|
e58688889a | ||
|
|
6af1050fb5 | ||
|
|
2493f5b230 | ||
|
|
ebae830b31 | ||
|
|
0ad2f68ff4 |
66
Dockerfile
66
Dockerfile
@@ -1,14 +1,14 @@
|
||||
FROM lsiobase/alpine:3.6
|
||||
MAINTAINER sparklyballs
|
||||
FROM lsiobase/alpine:3.7
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="sparklyballs"
|
||||
|
||||
# package versions
|
||||
ARG QBITTORRENT_VER="3.3.12"
|
||||
ARG RASTERBAR_VER="1.0.11"
|
||||
ARG QBITTORRENT_VER="4.0.3"
|
||||
ARG RASTERBAR_VER="1.1.5"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config" \
|
||||
@@ -18,43 +18,57 @@ XDG_DATA_HOME="/config"
|
||||
# copy patches
|
||||
COPY patches/ /tmp/patches
|
||||
|
||||
# install build packages
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
boost-dev \
|
||||
cmake \
|
||||
curl \
|
||||
file \
|
||||
g++ \
|
||||
geoip-dev \
|
||||
git \
|
||||
libtool \
|
||||
make \
|
||||
qt5-qttools-dev && \
|
||||
|
||||
# install runtime packages
|
||||
echo "**** 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 && \
|
||||
geoip \
|
||||
qt5-qtbase \
|
||||
unrar && \
|
||||
echo "**** compile libtorrent rasterbar ****" && \
|
||||
git clone https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
|
||||
cd /tmp/libtorrent && \
|
||||
RASTERBAR_REALVER=${RASTERBAR_VER//./_} && \
|
||||
git checkout "libtorrent-${RASTERBAR_REALVER}" && \
|
||||
./autotool.sh && \
|
||||
./configure \
|
||||
--disable-debug \
|
||||
--enable-encryption \
|
||||
--prefix=/usr && \
|
||||
make && \
|
||||
echo "**** attempt to set number of cores available for make to use ****" && \
|
||||
set -ex && \
|
||||
CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \
|
||||
if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \
|
||||
: ;\
|
||||
if [ "$CPU_CORES" -gt 7 ]; then \
|
||||
CPU_CORES=$(( CPU_CORES - 3 )); \
|
||||
elif [ "$CPU_CORES" -gt 5 ]; then \
|
||||
CPU_CORES=$(( CPU_CORES - 2 )); \
|
||||
elif [ "$CPU_CORES" -gt 3 ]; then \
|
||||
CPU_CORES=$(( CPU_CORES - 1 )); fi \
|
||||
else CPU_CORES="1"; fi && \
|
||||
make -j $CPU_CORES && \
|
||||
make install && \
|
||||
strip --strip-unneeded \
|
||||
/usr/lib/libtorrent-rasterbar.so* \
|
||||
/usr/lib/libtorrent-rasterbar.a* && \
|
||||
|
||||
# compile qbittorrent
|
||||
echo "**** compile qbittorrent ****" && \
|
||||
mkdir -p \
|
||||
/tmp/qbittorrent-src && \
|
||||
curl -o \
|
||||
@@ -69,10 +83,10 @@ RUN \
|
||||
./configure \
|
||||
--disable-gui \
|
||||
--prefix=/usr && \
|
||||
make && \
|
||||
make -j $CPU_CORES && \
|
||||
set +ex && \
|
||||
make install && \
|
||||
|
||||
# cleanup
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
|
||||
101
README.md
101
README.md
@@ -2,14 +2,107 @@
|
||||
[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]
|
||||
|
||||
## 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.
|
||||
|
||||
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")[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-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.
|
||||
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
docker create \
|
||||
--name=qbittorrent \
|
||||
-v <path to config>:/config \
|
||||
-v <path to downloads>:/downloads \
|
||||
-e PGID=<gid> -e PUID=<uid> \
|
||||
-e UMASK_SET=<022> \
|
||||
-e WEBUI_PORT=<8080> \
|
||||
-e TZ=<timezone> \
|
||||
-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` - webui port
|
||||
* `-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
|
||||
* `-e UMASK_SET` for umask setting of qbittorrent, *optional* , default if left unset is 022.
|
||||
* `-e WEBUI_PORT` for changing the port of the webui, see below for explanation
|
||||
* `-e TZ` for timezone information, eg Europe/London
|
||||
|
||||
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it qbittorrent /bin/bash`.
|
||||
|
||||
## WEBUI_PORT variable
|
||||
|
||||
Due to issues with CSRF and port mapping, should you require to alter the port for the webui you need to change both sides of the `-p 8080` switch **AND** set the `WEBUI_PORT` variable to the new port.
|
||||
|
||||
For example, to set the port to 8090 you need to set `-p 8090:8090` and `-e WEBUI_PORT=8090`
|
||||
|
||||
This should alleviate the "white screen" issue.
|
||||
|
||||
### 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
|
||||
|
||||
+ **19.12.17:** Update to v4.0.3.
|
||||
+ **09.12.17:** Rebase to alpine 3.7.
|
||||
+ **01.12.17:** Update to v4.0.2.
|
||||
+ **27.11.17:** Update to v4 and use cpu_core routine to speed up builds.
|
||||
+ **16.09.17:** Bump to 3.3.16, Add WEBUI_PORT variable and notes to README to allow changing port of webui.
|
||||
+ **01.08.17:** Initial Release.
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
[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.
|
||||
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
docker create \
|
||||
--name=qbittorrent \
|
||||
-v <path to config>:/config \
|
||||
-v <path to downloads>:/downloads \
|
||||
-e PGID=<gid> -e PUID=<uid> \
|
||||
-e UMASK_SET=<022> \
|
||||
-e TZ=<timezone> \
|
||||
-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
|
||||
* `-e UMASK_SET` for umask setting of qbittorrent, *optional* , default if left unset is 022.
|
||||
* `-e TZ` for timezone information, eg Europe/London
|
||||
|
||||
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.
|
||||
@@ -1,8 +1,9 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
UMASK_SET=${UMASK_SET:-022}
|
||||
WEBUI_PORT=${WEBUI_PORT:-8080}
|
||||
|
||||
umask "$UMASK_SET"
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc /usr/bin/qbittorrent-nox
|
||||
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"
|
||||
|
||||
Reference in New Issue
Block a user