forked from got3nks/amutorrent
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.all-in-one.yml
More file actions
136 lines (131 loc) · 4.28 KB
/
Copy pathdocker-compose.all-in-one.yml
File metadata and controls
136 lines (131 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
services:
amule:
image: ngosang/amule:latest
container_name: amule
ports:
- "4662:4662" # ED2K TCP
- "4665:4665/udp" # ED2K UDP (global search)
- "4672:4672/udp" # ED2K UDP
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Rome
- GUI_PWD=${AMULE_PASSWORD:-admin}
- WEBUI_PWD=${AMULE_PASSWORD:-admin}
- INCOMING_DIR=/downloads
- TEMP_DIR=/downloads/temp
volumes:
- ./data/aMule/config:/home/amule/.aMule
- ./data/aMule/incoming:/downloads
- ./data/aMule/temp:/downloads/temp
stop_grace_period: 30s
restart: unless-stopped
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
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
ports:
- "127.0.0.1:8080:8080" # WebUI
- "6882:6882" # BitTorrent
- "6882:6882/udp" # BitTorrent DHT
volumes:
- ./data/qBittorrent/config:/config
- ./data/qBittorrent/downloads:/downloads
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Rome
- WEBUI_PORT=8080
- TORRENTING_PORT=6882
restart: unless-stopped
amutorrent:
image: g0t3nks/amutorrent:latest
user: "1000:1000"
container_name: amutorrent
depends_on:
- amule
- rtorrent
- qbittorrent
ports:
- "${PORT:-4000}:${PORT:-4000}"
# For additional environment variables (Deluge, Sonarr, Radarr, auth, etc.)
# see .env.example. Copy it to .env and uncomment what you need.
env_file:
- path: .env
required: false
environment:
- NODE_ENV=production
- PORT=${PORT:-4000}
# Bundled client connections
- AMULE_ENABLED=true
- AMULE_HOST=amule
- AMULE_PORT=4712
- AMULE_PASSWORD=${AMULE_PASSWORD:-admin}
- RTORRENT_ENABLED=true
- RTORRENT_HOST=rtorrent
- RTORRENT_PORT=8000
- RTORRENT_PATH=/RPC2
- QBITTORRENT_ENABLED=true
- QBITTORRENT_HOST=qbittorrent
- QBITTORRENT_PORT=8080
- QBITTORRENT_USERNAME=admin
- QBITTORRENT_PASSWORD= # Set via qBittorrent WebUI: Tools > Options > Web UI > Authentication
- PROWLARR_ENABLED=true
- PROWLARR_URL=http://prowlarr:9696
volumes:
- ./logs:/usr/src/app/server/logs
- ./data:/usr/src/app/server/data
# Event Scripting: Edit scripts/custom.sh to run your own scripts on events
# - ./scripts:/usr/src/app/scripts
# Download directories (optional): Required for moving/deleting files (clients without native APIs)
- ./data/aMule/incoming:/downloads/aMule
- ./data/rTorrent/downloads:/downloads/rTorrent
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:' + (process.env.PORT || 4000) + '/health', r => r.statusCode === 200 ? process.exit(0) : process.exit(1)).on('error', () => process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3
restart: unless-stopped
# Optional: Prowlarr for torrent search (results go to rTorrent or qBittorrent)
prowlarr:
image: linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Rome
volumes:
- ./data/prowlarr/config:/config
ports:
- "9696:9696"
restart: unless-stopped
# Optional: GeoIP database updater
# Requires free MaxMind license: https://www.maxmind.com/en/geolite-free-ip-geolocation-data
geoip:
image: crazymax/geoip-updater:latest
container_name: geoip-updater
environment:
- EDITION_IDS=GeoLite2-ASN,GeoLite2-City,GeoLite2-Country
- LICENSE_KEY=YOUR_LICENSE_KEY # Replace with your MaxMind license key
- DOWNLOAD_PATH=/data
- SCHEDULE=0 0 * * 0 # Weekly on Sunday at midnight
- LOG_LEVEL=info
- LOG_JSON=false
volumes:
- ./data/geoip:/data
restart: unless-stopped