diff --git a/blueprints/rutorrent/docker-compose.yml b/blueprints/rutorrent/docker-compose.yml new file mode 100644 index 00000000..b19d3e96 --- /dev/null +++ b/blueprints/rutorrent/docker-compose.yml @@ -0,0 +1,28 @@ +version: "3.8" + +services: + rutorrent: + image: crazymax/rtorrent-rutorrent:latest + restart: unless-stopped + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} + # Optional: keep defaults, Dokploy will route 8080 via domain + - RUTORRENT_PORT=8080 + - XMLRPC_PORT=8000 + # You can customize these if you like: + - RT_DHT_PORT=${DHT_PORT:-6881} + - RT_INC_PORT=${INCOMING_PORT:-50000} + volumes: + - rutorrent-data:/data + - rutorrent-downloads:/downloads + - rutorrent-passwd:/passwd + # Expose only P2P-related ports; Dokploy domain will handle the web UI. + ports: + - "${INCOMING_PORT:-50000}:50000/tcp" + - "${DHT_PORT:-6881}:6881/udp" + +volumes: + rutorrent-data: {} + rutorrent-downloads: {} + rutorrent-passwd: {} diff --git a/blueprints/rutorrent/rutorrent.svg b/blueprints/rutorrent/rutorrent.svg new file mode 100644 index 00000000..72af18ba --- /dev/null +++ b/blueprints/rutorrent/rutorrent.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blueprints/rutorrent/template.toml b/blueprints/rutorrent/template.toml new file mode 100644 index 00000000..234c807b --- /dev/null +++ b/blueprints/rutorrent/template.toml @@ -0,0 +1,34 @@ +[variables] +main_domain = "${domain}" +puid = "${PUID:-1000}" +pgid = "${PGID:-1000}" +incoming_port = "${INCOMING_PORT:-50000}" +dht_port = "${DHT_PORT:-6881}" + +[config] +# Dokploy will route this domain to the container's internal port 8080 +[[config.domains]] +serviceName = "rutorrent" +port = 8080 +host = "${main_domain}" + +[config.env] +PUID = "${puid}" +PGID = "${pgid}" +INCOMING_PORT = "${incoming_port}" +DHT_PORT = "${dht_port}" + +[[config.mounts]] +type = "volume" +source = "rutorrent-data" +target = "/data" + +[[config.mounts]] +type = "volume" +source = "rutorrent-downloads" +target = "/downloads" + +[[config.mounts]] +type = "volume" +source = "rutorrent-passwd" +target = "/passwd" diff --git a/meta.json b/meta.json index 02ec7081..5fc53fd7 100644 --- a/meta.json +++ b/meta.json @@ -3421,6 +3421,24 @@ "self-hosted" ] }, + { + "id": "rutorrent", + "name": "ruTorrent", + "version": "latest", + "description": "ruTorrent + rTorrent BitTorrent client (crazy-max image). Web UI on 8080, XMLRPC on 8000, with P2P ports exposed for seeding.", + "logo": "rutorrent.svg", + "links": { + "github": "https://github.com/crazy-max/docker-rtorrent-rutorrent", + "website": "https://crazymax.dev/", + "docs": "https://github.com/crazy-max/docker-rtorrent-rutorrent" + }, + "tags": [ + "torrent", + "rtorrent", + "webui", + "downloader" + ] + }, { "id": "rybbit", "name": "Rybbit",