diff --git a/daemon/Dockerfile b/daemon/Dockerfile
index 43e2d04563ae5ebac04a35096d6e832f81f856b0..1a7bb8ac37be1dfbff4a7141dc2ee971659c0bd0 100644
--- a/daemon/Dockerfile
+++ b/daemon/Dockerfile
@@ -62,6 +62,9 @@ COPY src/rtorrent.rc /rtorrent.rc
 COPY entrypoint.sh /entrypoint.sh
 
 ENV RT_TRACKER_UDP="yes"
+ENV RT_MIN_PORT=50000
+ENV RT_MAX_PORT=50000
+ENV RT_PROTO_DHT="disable"
 ENV RT_PROTO_PEX="no"
 ENV RT_MAX_UP=100
 ENV RT_MAX_UP_GLOBAL=250
diff --git a/daemon/src/rtorrent.rc b/daemon/src/rtorrent.rc
index 3019bc467b125da6ff389b907931341b86529d27..42818a41a8daa56c4e42d70a5264a9a057b11e96 100644
--- a/daemon/src/rtorrent.rc
+++ b/daemon/src/rtorrent.rc
@@ -8,14 +8,14 @@ method.insert = cfg.session,  private|const|string, /session/
 method.insert = cfg.logfile,  private|const|string, (cat,(cfg.tmp),"rtorrent.log")
 
 # Listening port for incoming peer traffic
-network.port_range.set = 50000-50000
+network.port_range.set = (system.env,RT_MIN_PORT)-(system.env,RT_MAX_PORT)
 network.port_random.set = no
 
 # Distributed Hash Table and Peer EXchange
 # Enable tracker-less torrents but vulnerable to passive sniffing
 # DHT and PEX are always disabled for private torrents
-dht.mode.set = disable
-protocol.pex.set = no
+dht.mode.set = (system.env,RT_PROTO_DHT)
+protocol.pex.set = (system.env,RT_PROTO_PEX)
 
 trackers.use_udp.set = (system.env,RT_TRACKER_UDP)