Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee4414a561 | ||
|
|
31d935a77e | ||
|
|
31b80b2e75 | ||
|
|
1fad4d555e | ||
|
|
76792ce300 | ||
|
|
3752226599 | ||
|
|
c11d7c7dc2 | ||
|
|
489adb5d50 | ||
|
|
ab47931546 | ||
|
|
64d330d04c | ||
|
|
06d53f02f4 | ||
|
|
87b783fd8c | ||
|
|
f09f155753 | ||
|
|
1c7351b7c0 | ||
|
|
2359b3b2f2 | ||
|
|
f6d230b542 | ||
|
|
bf7c1a5fd4 | ||
|
|
18eadcefdb | ||
|
|
07e75f2949 | ||
|
|
3c3ae9cab1 | ||
|
|
c5579f753b | ||
|
|
9c178a4fdf | ||
|
|
6b61bdc9d9 | ||
|
|
4929d34e2f | ||
|
|
9c8ffeb5ba | ||
|
|
bf017d1624 | ||
|
|
35b6e2315e | ||
|
|
1c4d1c4d6a | ||
|
|
ed55418fc2 | ||
|
|
f8219eae32 | ||
|
|
917f7421e9 | ||
|
|
55f0728496 | ||
|
|
fef8110e7c |
91
Dockerfile
91
Dockerfile
@@ -1,25 +1,12 @@
|
||||
FROM lsiobase/alpine:3.6
|
||||
MAINTAINER sparklyballs
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
FROM lsiobase/alpine:3.8 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
ARG QBITTORRENT_VER="3.3.14"
|
||||
ARG RASTERBAR_VER="RC_1_0"
|
||||
ARG QBITTORRENT_VER="4.1.3"
|
||||
ARG RASTERBAR_VER="1.1.9"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
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 \
|
||||
@@ -32,34 +19,29 @@ RUN \
|
||||
git \
|
||||
libtool \
|
||||
make \
|
||||
qt5-qttools-dev && \
|
||||
qt5-qttools-dev
|
||||
|
||||
# install runtime packages
|
||||
apk add --no-cache \
|
||||
boost-system \
|
||||
boost-thread \
|
||||
ca-certificates \
|
||||
geoip \
|
||||
qt5-qtbase \
|
||||
unrar && \
|
||||
|
||||
# compile libtorrent rasterbar
|
||||
RUN \
|
||||
echo "**** compile libtorrent rasterbar ****" && \
|
||||
git clone https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
|
||||
cd /tmp/libtorrent && \
|
||||
git checkout ${RASTERBAR_VER} && \
|
||||
RASTERBAR_REALVER=${RASTERBAR_VER//./_} && \
|
||||
git checkout "libtorrent-${RASTERBAR_REALVER}" && \
|
||||
./autotool.sh && \
|
||||
./configure \
|
||||
--disable-debug \
|
||||
--enable-encryption \
|
||||
--prefix=/usr \
|
||||
--with-libgeoip=system && \
|
||||
--prefix=/usr && \
|
||||
make && \
|
||||
make install && \
|
||||
make DESTDIR=/tmp/rasterbar-build install && \
|
||||
strip --strip-unneeded \
|
||||
/usr/lib/libtorrent-rasterbar.so* \
|
||||
/usr/lib/libtorrent-rasterbar.a* && \
|
||||
/tmp/rasterbar-build/usr/lib/libtorrent-rasterbar.so* \
|
||||
/tmp/rasterbar-build/usr/lib/libtorrent-rasterbar.a* && \
|
||||
echo "**** copy rasterbar build to /usr for qbittorrent dependency ****" && \
|
||||
cp -pr /tmp/rasterbar-build/usr/* /usr/
|
||||
|
||||
# compile qbittorrent
|
||||
RUN \
|
||||
echo "**** compile qbittorrent ****" && \
|
||||
mkdir -p \
|
||||
/tmp/qbittorrent-src && \
|
||||
curl -o \
|
||||
@@ -68,22 +50,41 @@ RUN \
|
||||
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 && \
|
||||
make INSTALL_ROOT=/tmp/qbittorrent-build install
|
||||
|
||||
# cleanup
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
############## runtime stage ##############
|
||||
|
||||
# add local files
|
||||
FROM lsiobase/alpine:3.8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="sparklyballs"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config" \
|
||||
XDG_CONFIG_HOME="/config" \
|
||||
XDG_DATA_HOME="/config"
|
||||
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
boost-system \
|
||||
boost-thread \
|
||||
ca-certificates \
|
||||
geoip \
|
||||
qt5-qtbase \
|
||||
unrar
|
||||
|
||||
# copy files from build stage and local files
|
||||
COPY --from=buildstage /tmp/qbittorrent-build/usr/ /usr/
|
||||
COPY --from=buildstage /tmp/rasterbar-build/usr/ /usr/
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
|
||||
33
README.md
33
README.md
@@ -29,6 +29,7 @@ docker create \
|
||||
-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 \
|
||||
@@ -46,16 +47,35 @@ http://192.168.x.x:8080 would show you what's running INSIDE the container on po
|
||||
|
||||
* `-p 6881` - the port(s)
|
||||
* `-p 6881/udp` - the port(s)
|
||||
* `-p 8080` - 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.
|
||||
|
||||
If you have no webui , check the file /config/qBittorrent/qBittorrent.conf
|
||||
|
||||
edit or add the following lines
|
||||
|
||||
```
|
||||
WebUI\Address=*
|
||||
|
||||
WebUI\ServerDomains=*
|
||||
```
|
||||
|
||||
### 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" ™.
|
||||
@@ -90,4 +110,15 @@ To monitor the logs of the container in realtime: `docker logs -f qbittorrent`
|
||||
|
||||
## Versions
|
||||
|
||||
+ **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.
|
||||
+ **08.06.18:** Bump qbitorrent to 4.1.1.
|
||||
+ **26.04.18:** Bump libtorrent to 1.1.7.
|
||||
+ **02.03.18:** Bump qbitorrent to 4.0.4 and libtorrent to 1.1.6.
|
||||
+ **02.01.18:** Deprecate cpu_core routine lack of scaling.
|
||||
+ **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,14 +0,0 @@
|
||||
--- 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
|
||||
@@ -11,3 +11,5 @@ Connection\PortRangeMin=6881
|
||||
Downloads\SavePath=/downloads/
|
||||
Downloads\ScanDirsV2=@Variant(\0\0\0\x1c\0\0\0\0)
|
||||
Downloads\TempPath=/downloads/incomplete/
|
||||
WebUI\Address=*
|
||||
WebUI\ServerDomains=*
|
||||
|
||||
@@ -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