-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
187 lines (178 loc) · 6.1 KB
/
docker-compose.yml
File metadata and controls
187 lines (178 loc) · 6.1 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
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
services:
gluetun:
image: qmcgaw/gluetun@sha256:495cdc65ace4c110cf4de3d1f5f90e8a1dd2eb0f8b67151d1ad6101b2a02a476
container_name: gluetun
# NET_ADMIN capability required for WireGuard VPN to modify kernel network routing tables
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
env_file:
- ./.env
environment:
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=wireguard
- SERVER_COUNTRIES=United States
- PORT_FORWARD_ONLY=on
- VPN_PORT_FORWARDING=on
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
- VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -O- --retry-connrefused --post-data "json={\"listen_port\":{{PORT}},\"current_network_interface\":\"{{VPN_INTERFACE}}\",\"random_port\":false,\"upnp\":false}" http://127.0.0.1:8080/api/v2/app/setPreferences 2>&1'
- VPN_PORT_FORWARDING_DOWN_COMMAND=/bin/sh -c 'wget -O- --retry-connrefused --post-data "json={\"listen_port\":0,\"current_network_interface\":\"lo\"}" http://127.0.0.1:8080/api/v2/app/setPreferences 2>&1'
- TZ=${TIMEZONE:-America/New_York}
ports:
- 127.0.0.1:8080:8080 # qbittorrent webui
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent@sha256:85eb27d2d09cd4cb748036a4c7f261321da516b6f88229176cf05a92ccd26815
container_name: qbittorrent
network_mode: "service:gluetun"
depends_on:
- gluetun
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
- WEBUI_PORT=8080
volumes:
- ${MEDIA_DIR}/config/qbittorrent:/config
- ${MEDIA_DIR}/Downloads:/downloads
- ${MEDIA_DIR}/Movies:/movies
- ${MEDIA_DIR}/TV Shows:/tv
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr@sha256:e74a1e093dcc223d671d4b7061e2b4946f1989a4d3059654ff4e623b731c9134
container_name: prowlarr
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/prowlarr:/config
ports:
- 127.0.0.1:9696:9696
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9696/ping || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr@sha256:37be832b78548e3f55f69c45b50e3b14d18df1b6def2a4994258217e67efb1a1
container_name: sonarr
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/sonarr:/config
- ${MEDIA_DIR}/TV Shows:/tv
- ${MEDIA_DIR}/Downloads:/downloads
ports:
- 127.0.0.1:8989:8989
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8989/ping || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr@sha256:6d3e68474ea146f995af98d3fb2cb1a14e2e4457ddaf035aa5426889e2f9249c
container_name: radarr
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/radarr:/config
- ${MEDIA_DIR}/Movies:/movies
- ${MEDIA_DIR}/Downloads:/downloads
ports:
- 127.0.0.1:7878:7878
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:7878/ping || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr@sha256:1cf40186b1bc35bec87f4e4892d5d8c06086da331010be03e3459a86869c5e74
container_name: bazarr
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/bazarr:/config
- ${MEDIA_DIR}/Movies:/movies
- ${MEDIA_DIR}/TV Shows:/tv
ports:
- 127.0.0.1:6767:6767
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:6767/ping || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr@sha256:7962759d99d7e125e108e0f5e7f3cdbcd36161776d058d1d9b7153b92ef1af9e
container_name: flaresolverr
environment:
- LOG_LEVEL=info
- LOG_HTML=false
- TZ=${TIMEZONE:-America/New_York}
ports:
- 127.0.0.1:8191:8191
restart: unless-stopped
seerr:
image: ghcr.io/seerr-team/seerr@sha256:1b5fc1ea825631d9d165364472663b817a4c58ef6aa1013f58d82c1570d7c866
container_name: seerr
init: true
environment:
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/seerr:/app/config
ports:
- ${SEERR_BIND_IP:-127.0.0.1}:5055:5055
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:5055/api/v1/status || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin@sha256:4ee07757abcaa0b74fbc74179392311dc2874c03b0bef04bc2d79e9e1a875793
container_name: jellyfin
profiles: ["jellyfin"]
environment:
- PUID=${PUID:-501}
- PGID=${PGID:-20}
- TZ=${TIMEZONE:-America/New_York}
volumes:
- ${MEDIA_DIR}/config/jellyfin:/config
- ${MEDIA_DIR}/Movies:/data/movies
- ${MEDIA_DIR}/TV Shows:/data/tvshows
ports:
- 127.0.0.1:8096:8096
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8096/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
watchtower:
image: containrrr/watchtower@sha256:6dd50763bbd632a83cb154d5451700530d1e44200b268a4e9488fefdfcf2b038
container_name: watchtower
profiles: ["autoupdate"]
environment:
- TZ=${TIMEZONE:-America/New_York}
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 * * *
volumes:
# WARNING: Mounting docker.sock gives this container full control over all containers on the host
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped