-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
222 lines (207 loc) · 4.88 KB
/
docker-compose.yaml
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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# MOARR : My Own *Arr docker stack definition
version: "3.2"
# Common configuration extensions and fragments
# https://docs.docker.com/compose/compose-file/10-fragments/
# https://docs.docker.com/compose/compose-file/11-extension/
x-moarr-common: &moarr-common
networks:
- moarr
environment: &moarr-env
PUID: "1000"
PGID: "1000"
UMASK: "002"
TZ: Europe/Paris
restart: unless-stopped
labels:
autoheal: true
services:
# Dashboard
homarr:
<<: *moarr-common
image: ghcr.io/ajnart/homarr:latest
container_name: homarr
hostname: homarr
ports:
- 7575:7575
volumes:
- ./config/homarr/config:/app/data/configs
- ./config/homarr/assets:/app/public/icons
- ./config/homarr/data:/data
# Movies library manager
radarr:
<<: *moarr-common
image: ghcr.io/hotio/radarr:latest
container_name: radarr
hostname: radarr
ports:
- 7878:7878
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config/radarr:/config
- ./data:/data
depends_on:
- prowlarr
# TV shows library manager
sonarr:
<<: *moarr-common
image: ghcr.io/hotio/sonarr:latest
container_name: sonarr
hostname: sonarr
ports:
- 8989:8989
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config/sonarr:/config
- ./data:/data
depends_on:
- prowlarr
# Music library manager
lidarr:
<<: *moarr-common
image: ghcr.io/hotio/lidarr
container_name: lidarr
hostname: lidarr
ports:
- 8686:8686
volumes:
- ./config/lidarr:/config
- ./data:/data
depends_on:
- prowlarr
# Bonk library manager
whisparr:
<<: *moarr-common
image: ghcr.io/hotio/whisparr
container_name: whisparr
hostname: whisparr
ports:
- 6969:6969
volumes:
- ./config/whisparr:/config
- ./data:/data
depends_on:
- prowlarr
# # Subtitles library manager
# bazarr:
# <<: *moarr-common
# image: ghcr.io/hotio/bazarr:latest
# container_name: bazarr
# hostname: bazarr
# ports:
# - 6767:6767
# volumes:
# - /etc/localtime:/etc/localtime:ro
# - ./config/bazarr:/config
# - ./data/media:/data/media
# depends_on:
# - sonarr
# - radarr
# Usenet client
nzbget:
<<: *moarr-common
image: ghcr.io/hotio/nzbget
container_name: nzbget
hostname: nzbget
ports:
- 6789:6789
volumes:
- ./config/nzbget:/config
- ./data/usenet:/data/usenet
# Torrent/Usenet indexers aggregator
prowlarr:
<<: *moarr-common
image: ghcr.io/hotio/prowlarr
container_name: prowlarr
hostname: prowlarr
ports:
- 9696:9696
volumes:
- ./config/prowlarr:/config
depends_on:
- flaresolverr
- qbittorrent
- nzbget
# Torrent client
qbittorrent:
<<: *moarr-common
image: ghcr.io/hotio/qbittorrent
container_name: qbittorrent
hostname: qbittorrent
ports:
- 8080:8080
environment:
<<: *moarr-env
WEBUI_PORTS: 8080/tcp,8080/udp
volumes:
- ./config/qbittorrent:/config
- ./data/torrents:/data/torrents
# Decent Web UI for qBittorrent
flood:
<<: *moarr-common
image: jesec/flood
container_name: flood
hostname: flood
command: --port 3001 --allowedpath /data
ports:
- 3001:3001
environment:
<<: *moarr-env
HOME: /config
volumes:
- ./config/flood/config:/config
- ./config/flood/data:/data
depends_on:
- qbittorrent
# Media player
# Plex's become trashy (requires account)
jellyfin:
image: ghcr.io/hotio/jellyfin
container_name: jellyfin
hostname: jellyfin
restart: unless-stopped
# For DLNA support
network_mode: host
#ports:
# - 8096:8096
environment:
<<: *moarr-env
volumes:
- ./config/jellyfin:/config
- ./data/media:/data/media
labels:
autoheal: true
# Proxy to bypass CloudFlare anti-bot/ddos protection
flaresolverr:
<<: *moarr-common
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
hostname: flaresolverr
ports:
- 8191:8191
environment:
<<: *moarr-env
LOG_LEVEL: ${LOG_LEVEL:-info}
LOG_HTML: ${LOG_HTML:-false}
CAPTCHA_SOLVER: ${CAPTCHA_SOLVER:-none}
# Autorestart unhealthy containers
autoheal:
image: willfarrell/autoheal:latest
container_name: autoheal
hostname: autoheal
restart: always
network_mode: none
environment:
AUTOHEAL_CONTAINER_LABEL: autoheal
AUTOHEAL_INTERVAL: 10
#AUTOHEAL_START_PERIOD: 0
#AUTOHEAL_DEFAULT_STOP_TIMEOUT: 10
#AUTOHEAL_ONLY_MONITOR_RUNNING: false
#DOCKER_SOCK: /var/run/docker.sock
#CURL_TIMEOUT: 30
#WEBHOOK_URL:
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
networks:
moarr:
driver: bridge