rTorrent
aMuTorrent connects to rTorrent via XML-RPC, supporting three connection modes:
- HTTP — via an XML-RPC HTTP proxy (nginx, Apache, or ruTorrent)
- SCGI (direct TCP) — connect directly to rTorrent’s SCGI port without a proxy
- SCGI (Unix socket) — connect directly to rTorrent’s SCGI Unix domain socket
Alternative: aMuTorrent also supports qBittorrent, Deluge, and Transmission. You can use multiple BitTorrent clients simultaneously.
Requirements
Section titled “Requirements”- rTorrent with XML-RPC enabled
- For HTTP mode: a web server (nginx, lighttpd, or ruTorrent) to proxy SCGI to HTTP
- For SCGI modes: direct access to rTorrent’s SCGI TCP port or Unix socket (no proxy needed)
Connection Modes
Section titled “Connection Modes”HTTP Mode (default)
Section titled “HTTP Mode (default)”Connects via an HTTP proxy that translates HTTP requests to rTorrent’s SCGI protocol. This is the traditional setup used with ruTorrent or nginx.
SCGI Mode (direct TCP)
Section titled “SCGI Mode (direct TCP)”Connects directly to rTorrent’s SCGI TCP port, bypassing the need for an HTTP proxy. Requires rTorrent to be configured with network.scgi.open_port:
# In .rtorrent.rcnetwork.scgi.open_port = 127.0.0.1:5000SCGI Socket Mode
Section titled “SCGI Socket Mode”Connects directly to rTorrent’s SCGI Unix domain socket. Requires rTorrent to be configured with network.scgi.open_local:
# In .rtorrent.rcnetwork.scgi.open_local = /path/to/rtorrent.sockConfiguration
Section titled “Configuration”Via Settings UI
Section titled “Via Settings UI”- Go to Settings in aMuTorrent
- Expand the BitTorrent Integration section
- Enable rTorrent integration
- Select the Connection Mode:
- HTTP (XML-RPC proxy): Host, Port, Path, optional Username/Password, SSL
- SCGI (direct TCP): Host, Port
- SCGI (Unix socket): Socket Path
Via Environment Variables
Section titled “Via Environment Variables”HTTP mode (default):
RTORRENT_ENABLED=trueRTORRENT_MODE=httpRTORRENT_HOST=localhostRTORRENT_PORT=8000RTORRENT_PATH=/RPC2RTORRENT_USERNAME=userRTORRENT_PASSWORD=passRTORRENT_USE_SSL=falseSCGI direct TCP mode:
RTORRENT_ENABLED=trueRTORRENT_MODE=scgiRTORRENT_HOST=127.0.0.1RTORRENT_PORT=5000SCGI Unix socket mode:
RTORRENT_ENABLED=trueRTORRENT_MODE=scgi-socketRTORRENT_SOCKET_PATH=/path/to/rtorrent.sockVia config.json
Section titled “Via config.json”HTTP mode:
{ "clients": [{ "type": "rtorrent", "enabled": true, "mode": "http", "host": "localhost", "port": 8000, "path": "/RPC2", "username": "", "password": "", "useSsl": false }]}SCGI direct TCP:
{ "clients": [{ "type": "rtorrent", "enabled": true, "mode": "scgi", "host": "127.0.0.1", "port": 5000 }]}SCGI Unix socket:
{ "clients": [{ "type": "rtorrent", "enabled": true, "mode": "scgi-socket", "socketPath": "/path/to/rtorrent.sock" }]}rTorrent Setup
Section titled “rTorrent Setup”Using ruTorrent’s XML-RPC (HTTP mode)
Section titled “Using ruTorrent’s XML-RPC (HTTP mode)”If you’re running ruTorrent, XML-RPC is already exposed. Use HTTP mode with the same host/port as ruTorrent and path /RPC2.
Direct SCGI Connection (no proxy needed)
Section titled “Direct SCGI Connection (no proxy needed)”Configure rTorrent to open an SCGI port or socket:
# TCP SCGI (in .rtorrent.rc)network.scgi.open_port = 127.0.0.1:5000
# Or Unix socket (in .rtorrent.rc)network.scgi.open_local = /tmp/rtorrent.sockThen use SCGI or SCGI Socket mode in aMuTorrent — no nginx or web server required.
Standalone rTorrent with nginx (HTTP mode)
Section titled “Standalone rTorrent with nginx (HTTP mode)”Add to your nginx configuration:
location /RPC2 { scgi_pass unix:/path/to/rtorrent.sock; include scgi_params;}Or for TCP:
location /RPC2 { scgi_pass 127.0.0.1:5000; include scgi_params;}Docker Compose Example
Section titled “Docker Compose Example”services: rtorrent: image: crazymax/rtorrent-rutorrent:latest container_name: rtorrent ports: - "127.0.0.1:8000:8000" # XML-RPC (localhost only) - "6881:6881" # BitTorrent - "6881:6881/udp" # BitTorrent DHT - "50000:50000" # Incoming connections volumes: - ./data/rTorrent/config:/data - ./data/rTorrent/downloads:/downloads environment: - PUID=1000 - PGID=1000 - TZ=Europe/Rome restart: unless-stopped
amutorrent: image: g0t3nks/amutorrent:latest environment: - RTORRENT_ENABLED=true - RTORRENT_HOST=rtorrent - RTORRENT_PORT=8000 - RTORRENT_PATH=/RPC2 volumes: # Download directories (optional): Required for moving/deleting files - ./data/rTorrent/downloads:/downloads ports: - "4000:4000" restart: unless-stoppedCategories
Section titled “Categories”Categories created in aMuTorrent map to rTorrent labels. When a category has a configured path:
- New downloads with that category are saved to the category path
- Existing downloads (active or completed) can be moved to their category path via the UI
Using Multiple BitTorrent Clients
Section titled “Using Multiple BitTorrent Clients”You can run multiple BitTorrent clients simultaneously (rTorrent, qBittorrent, Deluge, Transmission), including multiple instances of the same client type. When multiple clients are connected:
- A client selector appears when adding downloads, letting you choose the target client
- The ED2K/BT filter in the header groups all BitTorrent clients together
- Statistics combine speeds and totals from all connected clients
- Prowlarr search results can be sent to any connected BitTorrent client
- Additional instances can be added through the Settings page
Troubleshooting
Section titled “Troubleshooting”Connection Failed
Section titled “Connection Failed”- Verify rTorrent is running and XML-RPC is accessible
- Test with curl:
curl http://host:port/RPC2 - Check firewall rules between containers/hosts
- Verify username/password if authentication is enabled
Downloads Not Appearing
Section titled “Downloads Not Appearing”- Ensure rTorrent integration is enabled in Settings
- Check the aMuTorrent logs for connection errors
- Verify the XML-RPC path is correct (usually
/RPC2)
Permission Issues
Section titled “Permission Issues”- Ensure aMuTorrent can write to download directories
- Check that rTorrent and aMuTorrent share the same UID/GID in Docker