first save up

This commit is contained in:
sparklyballs 2017-05-19 10:28:58 +01:00
commit 9d3781519b
12 changed files with 341 additions and 0 deletions

6
.dockerignore Normal file
View file

@ -0,0 +1,6 @@
.git
.gitignore
.github
.gitattributes
READMETEMPLATE.md
README.md

17
.gitattributes vendored Normal file
View 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
View file

@ -0,0 +1,21 @@
<!--- Provide a general summary of the issue in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][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
View file

@ -0,0 +1,15 @@
<!--- Provide a general summary of your changes in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][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
View 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
View 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
View 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/
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][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
View 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/
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][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://images.microbadger.com/badges/version/linuxserver/qbittorrent.svg)](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/qbittorrent.svg)](http://microbadger.com/images/linuxserver/qbittorrent "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/qbittorrent.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/qbittorrent.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-qbittorrent)](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
View 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

View 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/

View 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

View 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