-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocker-compose.yml
202 lines (190 loc) · 7.57 KB
/
docker-compose.yml
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
version: '3'
services:
# go to https://ipleak.net/ and add magnet link to transmission, it will show the ip address of transmission. a good trick to check if vpn is leaking your ip.
transmission:
container_name: transmission-vpn
image: haugene/transmission-openvpn
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
restart: always
ports:
- "127.0.0.1:9091:9091"
- "127.0.0.1:8888:8888"
dns:
- 8.8.8.8
- 8.8.4.4
environment:
- OPENVPN_PROVIDER=${VPN_PROVIDER}
- OPENVPN_USERNAME=${VPN_USERNAME}
- OPENVPN_PASSWORD=${VPN_PASSWORD}
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- LOCAL_NETWORK=192.168.0.0/24
- TRANSMISSION_RATIO_LIMIT_ENABLED=1
- TRANSMISSION_RATIO_LIMIT=0
- TRANSMISSION_DOWNLOAD_DIR=/downloads/completed # complete downloads folder
- TRANSMISSION_INCOMPLETE_DIR=/downloads/incompleted # incomplete downloads folder
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
volumes:
- /etc/localtime:/etc/localtime:ro
- ${ROOT}/config/transmission:/data
- ${ROOT}/downloads/completed:/downloads/completed # complete downloads folder, btw, you need to change these folders in transmission setting.json file
- ${ROOT}/downloads/incompleted:/downloads/incompleted # incomplete downloads folder
#you need to download ovpn files and put into config/openvpn folder.
deluge:
container_name: deluge
image: binhex/arch-delugevpn:latest
restart: unless-stopped
cap_add:
- NET_ADMIN
ports:
- "127.0.0.1:8112:8112"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
- VPN_ENABLED=yes
- VPN_USER=username
- VPN_PASS=password
- VPN_PROV=pia
- STRICT_PORT_FORWARD=yes
- ENABLE_PRIVOXY=no
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=1.1.1.1,1.0.0.1,9.9.9.9
- DELUGE_DAEMON_LOG_LEVEL=info
- DELUGE_WEB_LOG_LEVEL=info
- DEBUG=false
- UMASK_SET=022 #optional
volumes:
- ${ROOT}/downloads/completed:/downloads/completed # complete downloads folder
- ${ROOT}/downloads/incompleted:/downloads/incompleted # incomplete downloads folder
- ${ROOT}/config/deluge:/config # config files
- ${ROOT}/config/deluge-data:/data # data files
jackett: #jackett default web link is "ip_address:9117".
container_name: jackett
image: linuxserver/jackett
restart: unless-stopped
ports:
- "127.0.0.1:9117:9117"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
volumes:
- ${ROOT}/downloads/torrent-blackhole:/downloads # place where to put .torrent files for manual download
- ${ROOT}/config/jackett:/config # config files
sonarr: #sonarr default web link is "ip_address:8989".
container_name: sonarr
image: linuxserver/sonarr
restart: unless-stopped
ports:
- "127.0.0.1:8989:8989"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
volumes:
- ${ROOT}/config/sonarr:/config # config files
- ${ROOT}/media/tvshows:/tvshows # tv shows folder
- ${ROOT}/downloads/completed:/downloads/completed # complete downloads folder
- ${ROOT}/downloads/recycle:/downloads/recycle # recycle folder
radarr: #radarr default web link is "ip_address:7878".
container_name: radarr
image: linuxserver/radarr
restart: unless-stopped
ports:
- "127.0.0.1:7878:7878"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
volumes:
- ${ROOT}/config/radarr:/config # config files
- ${ROOT}/media/movies:/movies # movies folder
- ${ROOT}/downloads/completed:/downloads/completed # complete downloads folder
- ${ROOT}/downloads/recycle:/downloads/recycle # recycle folder
ombi:
container_name: ombi
image: linuxserver/ombi
restart: unless-stopped
ports:
- "127.0.0.1:3579:3579"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
- BASE_URL=/ombi #optional
volumes:
- ${ROOT}/config/ombi:/config # config files
plex-server: #plex default web link is "ip_address:32400/web".
container_name: plex-server
image: plexinc/pms-docker
restart: unless-stopped
environment:
- PLEX_UID=${PUID} # default user id, defined in .env
- PLEX_GID=${PGID} # default group id, defined in .env
- VERSION=docker # Set whether to update plex or not - see Application Setup section.
- TZ=${TZ} # timezone, defined in .env
- PLEX_CLAIM=${CLAIM_CODE} #plex claim code
ports:
- 32400:32400
- "3005:3005/tcp"
- "8324:8324/tcp"
- "32469:32469/tcp"
- "1900:1900/udp"
- "32410:32410/udp"
- "32412:32412/udp"
- "32413:32413/udp"
- "32414:32414/udp"
volumes:
- ${ROOT}/config/plex/config:/config # plex database
- ${ROOT}/media/movies:/movies # movies folder
- ${ROOT}/media/tvshows:/tvshows # tv shows folder
- ${ROOT}/media/transcode:/transcode # tv shows folder
bazarr: #bazarr default web link is "ip_address:6767".
container_name: bazarr
image: linuxserver/bazarr
restart: unless-stopped
ports:
- "127.0.0.1:6767:6767"
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ}
volumes:
- ${ROOT}/config/bazarr/config:/config # config files
- ${ROOT}/media/movies:/movies # movies folder
- ${ROOT}/media/tvshows:/tvshows # tv shows folder
nzbget:
container_name: nzbget
image: linuxserver/nzbget
restart: unless-stopped
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ}
volumes:
- ${ROOT}/downloads:/downloads # complete downloads folder
- ${ROOT}/config/nzbget/config:/config # config files
ports:
- "127.0.0.1:6789:6789"
nginx: #nginx reverse proxy.
container_name: nginx
image: nginx:stable
restart: unless-stopped
ports:
- 80:80
- 443:443
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ}
volumes:
- /etc/letsencrypt:/etc/letsencrypt # certbot folder
- /var/www/html/dlbox:/var/www/html/dlbox # root folder of website
- /var/www/html/acme:/var/www/html/acme # certbot challange folder
- ${ROOT}/nginx/nginx.conf:/etc/nginx/nginx.conf # nginx config, create nginx folder and copy nginx.conf and dhpara.pem before running docker compose.
- ${ROOT}/nginx/dhparam.pem:/etc/nginx/dhparam.pem # nginx dhparam
- ${ROOT}/nginx/auth:/etc/nginx/auth # nginx auth .htpasswd folder, you can find how to create .htpasswd in nginx.conf file.