This is a rtorrent-rutorrent combo created by crazy-max but with some changes that make the build more applicable to use with PVRs such as Sonarr, Lidarr, etc.
The sources can be downloaded from the Wizardry and Steamworks Subversion:
The usage is documented on the original repository page by crazy-max and can be found on github.
The following changes have been made to the current crazy-max releases:
0.9.8
and the configuration adapted to match,temp
and complete
folders have both been remapped into downloads
for compatibility with PVRs
Because the Dockerfile
needs additional components, the build environment can be downloaded via the SVN and the following is just a patch in order to be able to inspect the changes.
diff --git a/Dockerfile b/Dockerfile index 4429594..f6a8b17 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,9 +12,9 @@ ARG GEOIP2_RUTORRENT_VERSION=4ff2bde530bb8eef13af84e4413cedea97eda148 ARG DUMP_TORRENT_VERSION=302ac444a20442edb4aeabef65b264a85ab88ce9 # libtorrent v0.15.3 -ARG LIBTORRENT_VERSION=0cb559ea23fa67ded8aea69c93cba50ae0ab243f +ARG LIBTORRENT_VERSION=756f70010779927dc0691e1e722ed433d5d295e1 # rtorrent v0.15.3 -ARG RTORRENT_VERSION=6f8c1246dc013d1d5c39ecd66373346ac42fe746 +ARG RTORRENT_VERSION=6154d1698756e0c4842b1c13a0e56db93f1aa947 ARG ALPINE_VERSION=3.21 ARG ALPINE_S6_VERSION=${ALPINE_VERSION}-2.2.0.3 @@ -86,6 +86,7 @@ RUN apk --update --no-cache add \ brotli-dev \ build-base \ cppunit-dev \ + cppunit \ cmake \ gd-dev \ geoip-dev \ @@ -102,9 +103,16 @@ RUN apk --update --no-cache add \ tar \ tree \ xz \ - zlib-dev + zlib-dev \ + xmlrpc-c \ + xmlrpc-c-dev \ + libcurl \ + distcc ENV DIST_PATH="/dist" +ENV DISTCC_HOSTS="docker1.internal:35001 docker2.internal:35002" +ENV CC="distcc" +ENV CXX="distcc g++" WORKDIR /usr/local/src/libsig COPY --from=src-libsig /src . @@ -142,7 +150,7 @@ RUN tree ${DIST_PATH} WORKDIR /usr/local/src/rtorrent COPY --from=src-rtorrent /src . RUN autoreconf -vfi -RUN ./configure --with-xmlrpc-tinyxml2 --with-ncurses +RUN ./configure --with-xmlrpc-c --with-ncurses --with-libcurl RUN make -j$(nproc) CXXFLAGS="-w -O3 -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" RUN make install -j$(nproc) RUN make DESTDIR=${DIST_PATH} install -j$(nproc) @@ -246,6 +254,8 @@ RUN apk --update --no-cache add \ unzip \ util-linux \ zip \ + cppunit=1.15.1-r4 \ + xmlrpc-c \ && pip3 install --upgrade --break-system-packages pip \ && pip3 install --break-system-packages cfscrape cloudscraper \ && addgroup -g ${PGID} rtorrent \ diff --git a/rootfs/etc/cont-init.d/03-config.sh b/rootfs/etc/cont-init.d/03-config.sh index d8594c1..addb22d 100644 --- a/rootfs/etc/cont-init.d/03-config.sh +++ b/rootfs/etc/cont-init.d/03-config.sh @@ -150,9 +150,11 @@ mkdir -p /data/geoip \ /data/rutorrent/plugins-conf \ /data/rutorrent/share/users \ /data/rutorrent/share/torrents \ - /data/rutorrent/themes \ - /downloads/complete \ - /downloads/temp + /data/rutorrent/themes/ + /downloads +# x rtorrent 0.9.8 +# /downloads/complete \ +# /downloads/temp touch /passwd/rpc.htpasswd \ /passwd/rutorrent.htpasswd \ /passwd/webdav.htpasswd \ @@ -397,9 +399,10 @@ chown rtorrent:rtorrent \ /data/rutorrent/share/users \ /data/rutorrent/share/torrents \ /downloads \ - /downloads/complete \ - /downloads/temp \ "${RU_LOG_FILE}" +# x rtorrent 0.9.8 +# /downloads/complete \ +# /downloads/temp \ chown -R rtorrent:rtorrent \ /data/geoip \ /data/rtorrent/log \ diff --git a/rootfs/tpls/etc/rtorrent/.rtlocal.rc b/rootfs/tpls/etc/rtorrent/.rtlocal.rc index 7f6d497..3049957 100644 --- a/rootfs/tpls/etc/rtorrent/.rtlocal.rc +++ b/rootfs/tpls/etc/rtorrent/.rtlocal.rc @@ -4,8 +4,11 @@ system.daemon.set = true # Instance layout method.insert = cfg.basedir, private|const|string, (cat,"/data/rtorrent/") method.insert = cfg.download, private|const|string, (cat,"/downloads/") -method.insert = cfg.download_complete, private|const|string, (cat,(cfg.download),"complete/") -method.insert = cfg.download_temp, private|const|string, (cat,(cfg.download),"temp/") +# x rtorrent 0.9.8 +#method.insert = cfg.download_complete, private|const|string, (cat,(cfg.download),"complete/") +#method.insert = cfg.download_temp, private|const|string, (cat,(cfg.download),"temp/") +method.insert = cfg.download_complete, (cat,(cfg.download)) +method.insert = cfg.download_temp, (cat,(cfg.download)) method.insert = cfg.logs, private|const|string, (cat,(cfg.basedir),"log/") method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),".session/") method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") @@ -15,7 +18,9 @@ method.insert = cfg.rundir, private|const|string, (cat,"/var/run/rtorrent/") method.insert = d.data_path, simple, "if=(d.is_multi_file), (cat,(d.directory),/), (cat,(d.directory),/,(d.name))" # Default directory to save the downloaded torrents -directory.default.set = (cat,(cfg.download_temp)) +# x rtorrent 0.9.8 +#directory.default.set = (cat,(cfg.download_temp)) +directory.default.set = (cat,(cfg.download)) # Default session directory session.path.set = (cat,(cfg.session)) @@ -45,7 +50,8 @@ schedule2 = session_save, 1200, @RT_SESSION_SAVE_SECONDS@, ((session.save)) method.set_key = event.download.inserted_new, "schedule2 = ((d.hash)), 0, 0, ((d.save_full_session))" # Configure whether to delay tracker announces at startup -trackers.delay_scrape = @RT_TRACKER_DELAY_SCRAPE@ +# x rtorrent 0.9.8 +#trackers.delay_scrape = @RT_TRACKER_DELAY_SCRAPE@ # Configure TCP rmem and wmem for rTorrent client network.send_buffer.size.set = @RT_SEND_BUFFER_SIZE@
For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.