@binhex thanks for all the dev work, this is great. however, my rutorrent is having issues detecting contents in /media. plex, filebot, and other apps can read/write the usb storage fine though. my directory is blank (similar to https://github.com/Novik/ruTorrent/issues/1647) when my download folder is set to /media.
<?php
// configuration parameters// for snoopy client@define('HTTP_USER_AGENT','Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0',true);@define('HTTP_TIME_OUT',30,true);// in seconds@define('HTTP_USE_GZIP',true,true);
$httpIP =null;// IP string. Or null for any.@define('RPC_TIME_OUT',5,true);// in seconds@define('LOG_RPC_CALLS',false,true);@define('LOG_RPC_FAULTS',true,true);// for php@define('PHP_USE_GZIP',false,true);@define('PHP_GZIP_LEVEL',2,true);
$schedule_rand =10;// rand for schedulers start, +0..X seconds
$do_diagnostic =true;
$log_file ='/tmp/errors.log';// path to log file (comment or leave blank to disable logging)
$saveUploadedTorrents =true;// Save uploaded torrents to profile/torrents directory or not
$overwriteUploadedTorrents =false;// Overwrite existing uploaded torrents in profile/torrents directory or make unique name
$topDirectory ='/';// Upper available directory. Absolute path with trail slash.
$forbidUserSettings =false;
$scgi_port =5000;
$scgi_host ="127.0.0.1";// For web->rtorrent link through unix domain socket // (scgi_local in rtorrent conf file), change variables // above to something like this://// $scgi_port = 0;// $scgi_host = "unix:///tmp/rpc.socket";
$XMLRPCMountPoint ="/RPC2";// DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!!
$pathToExternals = array("php"=>'',// Something like /usr/bin/php. If empty, will be found in PATH."curl"=>'/usr/bin/curl',// Something like /usr/bin/curl. If empty, will be found in PATH."gzip"=>'',// Something like /usr/bin/gzip. If empty, will be found in PATH."id"=>'',// Something like /usr/bin/id. If empty, will be found in PATH."stat"=>'',// Something like /usr/bin/stat. If empty, will be found in PATH.);
$localhosts = array(// list of local interfaces"127.0.0.1","localhost",);
$profilePath ='../share';// Path to user profiles
$profileMask =0777;// Mask for files and directory creation in user profiles.// Both Webserver and rtorrent users must have read-write access to it.// For example, if Webserver and rtorrent users are in the same group then the value may be 0770.
$tempDirectory =null;// Temp directory. Absolute path with trail slash. If null, then autodetect will be used.
$canUseXSendFile =false;// If true then use X-Sendfile feature if it exist
$locale ="UTF8";
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
# Maximum and minimum number of peers to connect to per torrent.
#
#throttle.min_peers.normal.set = 40
#throttle.max_peers.normal.set = 100
# Same as above but for seeding completed torrents (-1 = same as downloading)
#
#throttle.min_peers.seed.set = 10
#throttle.max_peers.seed.set = 50
# Maximum number of simultanious uploads per torrent.
#
#throttle.max_uploads.set = 15
# Global upload and download rate in KiB. "0" for unlimited.
#
#throttle.global_down.max_rate.set_kb = 0
#throttle.global_up.max_rate.set_kb = 0
# Default directory to save the downloaded torrents.
#
#execute = {/bin/bash,-c,mkdir -p /data/incomplete}
directory.default.set = /media/chienb/plex
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
#
execute = {/bin/bash,-c,mkdir -p /config/rtorrent/session}
session.path.set = /config/rtorrent/session/
# Watch a directory for new torrents, and stop those that have been
# deleted.
#
#schedule2 = watch_directory,5,5,load.start=./watch/*.torrent
#schedule2 = untied_directory,5,5,stop_untied=
# Close torrents when diskspace is low.
#
#schedule2 = low_diskspace,5,60,close_low_diskspace=100M
# The ip address reported to the tracker.
#
#network.local_address.set = 127.0.0.1
#network.local_address.set = rakshasa.no
# The ip address the listening socket and outgoing connections is
# bound to.
#
#network.bind_address.set = 127.0.0.1
#network.bind_address.set = rakshasa.no
# Port range to use for listening.
#
#network.port_range.set = 49160-49160
# Start opening ports at a random position within the port range.
#
network.port_random.set = no
# Disable check for SSL cert for tracker
#
network.http.ssl_verify_peer.set = 0
# Check hash for finished torrents. Might be useful until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#
#pieces.hash.on_completion.set = no
# Set whether the client should try to connect to UDP trackers.
#
trackers.use_udp.set = yes
# Alternative calls to bind and ip that should handle dynamic ip's.
#
#schedule2 = ip_tick,0,1800,ip=rakshasa
#schedule2 = bind_tick,0,1800,bind=rakshasa
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
dht.mode.set = auto
# UDP port to use for DHT.
#
#dht.port.set = 49170
# Enable peer exchange (for torrents not marked private)
#
protocol.pex.set = yes
# Set downlad list layout style. ("full", "compact")
#
#ui.torrent_list.layout.set = "full"
# SCGI Connectivity (for alternative rtorrent interfaces, XMLRPC)
#
# Use a IP socket with scgi_port, or a Unix socket with scgi_local.
# schedule can be used to set permissions on the unix socket.
#
scgi_port = 0.0.0.0:5000
#scgi_local = /home/user/rtorrent/rpc.socket
#schedule = scgi_permission,0,0,"execute.nothrow=chmod,\"g+w,o=\",/home/user/rtorrent/rpc.socket"
# Initialise ruTorrent plugins (required for rss and scheduler plugins) on startup
# (normally triggered by a browser opening the web ui).
#
# The command below in practice does NOT always trigger (possible race condition?) and thus
# the same command has been added to the script /home/nobody/initplugins.sh in order to
# attempt to ensure all plugins are initialised.
#
execute = {/bin/bash,-c,/usr/bin/sleep 10s && /usr/bin/php /usr/share/webapps/rutorrent/php/initplugins.php admin &}
method.set_key=event.download.finished,filebot,"execute={/home/chienb/plex/rt-postprocess.sh,$d.base_path=,$d.name=,$d.custom1=}"
i also realized that i don't have users rtorrent/rutorrent, do i create them and add to the docker group?
Update: I think I was able to fix it by editing the volume parameters
[Support] binhex - rTorrentVPN
in Docker Containers
Posted · Edited by omanko
@binhex thanks for all the dev work, this is great. however, my rutorrent is having issues detecting contents in /media. plex, filebot, and other apps can read/write the usb storage fine though. my directory is blank (similar to https://github.com/Novik/ruTorrent/issues/1647) when my download folder is set to /media.
my docker cmd
docker -D run --restart always \ --cap-add=NET_ADMIN \ -p 9080:9080 \ -p 9443:9443 \ -p 8118:8118 \ -p 3000:3000 \ --name=rtorrentvpn \ -v /home/chienb/docker/rtorrentvpn/data:/data \ -v /home/chienb/docker/rtorrentvpn/config:/config \ -v /etc/localtime:/etc/localtime:ro \ -v /media/chienb/plex \ -e VPN_ENABLED=yes \ -e VPN_USER=* \ -e VPN_PASS=* \ -e VPN_PROV=pia \ -e STRICT_PORT_FORWARD=yes \ -e ENABLE_PRIVOXY=no \ -e ENABLE_FLOOD=no \ -e ENABLE_AUTODL_IRSSI=no \ -e LAN_NETWORK=192.168.1.0/24 \ -e NAME_SERVERS=209.222.18.222,37.235.1.174,1.1.1.1,8.8.8.8,209.222.18.218,37.235.1.177,1.0.0.1,8.8.4.4 \ -e DEBUG=true \ -e PHP_TZ=America/Los_Angeles \ -e UMASK=002 \ -e PUID=1000 \ -e PGID=999 \ binhex/arch-rtorrentvpn
$ id uid=1000(chienb) gid=1000(chienb) groups=1000(chienb),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),114(lpadmin),115(sambashare),999(docker)
$ groups chienb adm cdrom sudo dip plugdev lpadmin sambashare docker
# This is an example resource file for rTorrent. Copy to # ~/.rtorrent.rc and enable/modify the options as needed. Remember to # uncomment the options you wish to enable. # Maximum and minimum number of peers to connect to per torrent. # #throttle.min_peers.normal.set = 40 #throttle.max_peers.normal.set = 100 # Same as above but for seeding completed torrents (-1 = same as downloading) # #throttle.min_peers.seed.set = 10 #throttle.max_peers.seed.set = 50 # Maximum number of simultanious uploads per torrent. # #throttle.max_uploads.set = 15 # Global upload and download rate in KiB. "0" for unlimited. # #throttle.global_down.max_rate.set_kb = 0 #throttle.global_up.max_rate.set_kb = 0 # Default directory to save the downloaded torrents. # #execute = {/bin/bash,-c,mkdir -p /data/incomplete} directory.default.set = /media/chienb/plex # Default session directory. Make sure you don't run multiple instance # of rtorrent using the same session directory. Perhaps using a # relative path? # execute = {/bin/bash,-c,mkdir -p /config/rtorrent/session} session.path.set = /config/rtorrent/session/ # Watch a directory for new torrents, and stop those that have been # deleted. # #schedule2 = watch_directory,5,5,load.start=./watch/*.torrent #schedule2 = untied_directory,5,5,stop_untied= # Close torrents when diskspace is low. # #schedule2 = low_diskspace,5,60,close_low_diskspace=100M # The ip address reported to the tracker. # #network.local_address.set = 127.0.0.1 #network.local_address.set = rakshasa.no # The ip address the listening socket and outgoing connections is # bound to. # #network.bind_address.set = 127.0.0.1 #network.bind_address.set = rakshasa.no # Port range to use for listening. # #network.port_range.set = 49160-49160 # Start opening ports at a random position within the port range. # network.port_random.set = no # Disable check for SSL cert for tracker # network.http.ssl_verify_peer.set = 0 # Check hash for finished torrents. Might be useful until the bug is # fixed that causes lack of diskspace not to be properly reported. # #pieces.hash.on_completion.set = no # Set whether the client should try to connect to UDP trackers. # trackers.use_udp.set = yes # Alternative calls to bind and ip that should handle dynamic ip's. # #schedule2 = ip_tick,0,1800,ip=rakshasa #schedule2 = bind_tick,0,1800,bind=rakshasa # Encryption options, set to none (default) or any combination of the following: # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext # # The example value allows incoming encrypted connections, starts unencrypted # outgoing connections but retries with encryption if they fail, preferring # plaintext to RC4 encryption after the encrypted handshake # protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext # Enable DHT support for trackerless torrents or when all trackers are down. # May be set to "disable" (completely disable DHT), "off" (do not start DHT), # "auto" (start and stop DHT as needed), or "on" (start DHT immediately). # The default is "off". For DHT to work, a session directory must be defined. # dht.mode.set = auto # UDP port to use for DHT. # #dht.port.set = 49170 # Enable peer exchange (for torrents not marked private) # protocol.pex.set = yes # Set downlad list layout style. ("full", "compact") # #ui.torrent_list.layout.set = "full" # SCGI Connectivity (for alternative rtorrent interfaces, XMLRPC) # # Use a IP socket with scgi_port, or a Unix socket with scgi_local. # schedule can be used to set permissions on the unix socket. # scgi_port = 0.0.0.0:5000 #scgi_local = /home/user/rtorrent/rpc.socket #schedule = scgi_permission,0,0,"execute.nothrow=chmod,\"g+w,o=\",/home/user/rtorrent/rpc.socket" # Initialise ruTorrent plugins (required for rss and scheduler plugins) on startup # (normally triggered by a browser opening the web ui). # # The command below in practice does NOT always trigger (possible race condition?) and thus # the same command has been added to the script /home/nobody/initplugins.sh in order to # attempt to ensure all plugins are initialised. # execute = {/bin/bash,-c,/usr/bin/sleep 10s && /usr/bin/php /usr/share/webapps/rutorrent/php/initplugins.php admin &} method.set_key=event.download.finished,filebot,"execute={/home/chienb/plex/rt-postprocess.sh,$d.base_path=,$d.name=,$d.custom1=}"
i also realized that i don't have users rtorrent/rutorrent, do i create them and add to the docker group?
Update: I think I was able to fix it by editing the volume parameters
-v /media/chienb/plex:/media/chienb/plex