-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
259 lines (247 loc) · 9.3 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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
services:
traefik:
image: "traefik:2.11"
restart: "unless-stopped"
depends_on:
- "authelia"
command:
- "--log.level=INFO"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.letsencrypt.acme.email=${TRAEFIK_ACME_EMAIL}"
ports:
- "80:80"
- "443:443"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "traefik:/letsencrypt"
authelia:
image: "authelia/authelia:4.38"
restart: "unless-stopped"
command: [ "authelia", "--config", "/configro/configuration.yml" ]
expose:
- "9091"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./authelia:/configro:ro"
- "authelia:/config"
secrets:
- "authelia_ldap_password"
- "authelia_jwt_secret"
- "authelia_smtp_password"
- "authelia_session_secret"
- "authelia_storage_encryption_key"
environment:
AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE: "/run/secrets/authelia_ldap_password"
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: "/run/secrets/authelia_jwt_secret"
AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: "/run/secrets/authelia_smtp_password"
AUTHELIA_SESSION_SECRET_FILE: "/run/secrets/authelia_session_secret"
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: "/run/secrets/authelia_storage_encryption_key"
labels:
- "traefik.enable=true"
- "traefik.http.services.authelia.loadbalancer.server.port=9091"
- "traefik.http.routers.authelia.rule=Host(`${AUTHELIA_FQDN}`)"
- "traefik.http.routers.authelia.entrypoints=websecure"
- "traefik.http.routers.authelia.tls=true"
- "traefik.http.routers.authelia.tls.certresolver=letsencrypt"
- "traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/authz/forward-auth"
- "traefik.http.middlewares.authelia.forwardauth.trustforwardheader=true"
- "traefik.http.middlewares.authelia.forwardauth.authresponseheaders=Remote-User,Remote-Groups,Remote-Email,Remote-Name"
- "traefik.http.middlewares.authelia-basic.forwardauth.address=http://authelia:9091/api/verify?auth=basic"
- "traefik.http.middlewares.authelia-basic.forwardauth.trustforwardheader=true"
- "traefik.http.middlewares.authelia-basic.forwardauth.authresponseheaders=Remote-User,Remote-Groups,Remote-Email,Remote-Name"
home:
build: "./home"
restart: "unless-stopped"
expose:
- "80"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
environment:
HOME_FQDN: "${HOME_FQDN}"
HOME_LINKS: "radarr:sonarr:downloads:transmission:jackett:resilio"
HOME_LINK_RADARR: "https://${RADARR_FQDN}"
HOME_LINK_SONARR: "https://${SONARR_FQDN}"
HOME_LINK_DOWNLOADS: "https://${DOWNLOADS_FQDN}"
HOME_LINK_TRANSMISSION: "https://${TRANSMISSION_FQDN}"
HOME_LINK_JACKETT: "https://${JACKETT_FQDN}"
HOME_LINK_RESILIO: "https://${RESILIO_FQDN}"
labels:
- "traefik.enable=true"
- "traefik.http.services.home.loadbalancer.server.port=80"
- "traefik.http.routers.home.rule=Host(`${HOME_FQDN}`)"
- "traefik.http.routers.home.entrypoints=websecure"
- "traefik.http.routers.home.tls=true"
- "traefik.http.routers.home.tls.certresolver=letsencrypt"
- "traefik.http.routers.home.middlewares=authelia@docker"
downloads:
image: "jmlemetayer/abba"
restart: "unless-stopped"
expose:
- "80"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "${SEEDBOX_DIR}:/var/www"
environment:
THEME: "zephyr"
labels:
- "traefik.enable=true"
- "traefik.http.services.downloads.loadbalancer.server.port=80"
- "traefik.http.routers.downloads.rule=Host(`${DOWNLOADS_FQDN}`)"
- "traefik.http.routers.downloads.entrypoints=websecure"
- "traefik.http.routers.downloads.tls=true"
- "traefik.http.routers.downloads.tls.certresolver=letsencrypt"
- "traefik.http.routers.downloads.middlewares=authelia-basic@docker"
transmission:
image: "linuxserver/transmission"
restart: "unless-stopped"
expose:
- "9091"
ports:
- "42069:42069"
- "42069:42069/udp"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./transmission/init:/custom-cont-init.d/01-init:ro"
- "./transmission/settings.json:/defaults/settings.json:ro"
- "${SEEDBOX_DIR}:/downloads"
- "transmission:/config"
- "/tmp/transmission:/watch"
environment:
PUID: "${SEEDBOX_UID}"
PGID: "${SEEDBOX_GID}"
labels:
- "traefik.enable=true"
- "traefik.http.services.transmission.loadbalancer.server.port=9091"
- "traefik.http.routers.transmission.rule=Host(`${TRANSMISSION_FQDN}`)"
- "traefik.http.routers.transmission.entrypoints=websecure"
- "traefik.http.routers.transmission.tls=true"
- "traefik.http.routers.transmission.tls.certresolver=letsencrypt"
- "traefik.http.routers.transmission.middlewares=authelia@docker"
flaresolverr:
image: "21hsmw/flaresolverr:nodrivertest"
restart: "unless-stopped"
expose:
- "8191"
environment:
LOG_LEVEL: "info"
jackett:
image: "linuxserver/jackett"
restart: "unless-stopped"
expose:
- "9117"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "jackett:/config"
environment:
PUID: "${SEEDBOX_UID}"
PGID: "${SEEDBOX_GID}"
labels:
- "traefik.enable=true"
- "traefik.http.services.jackett.loadbalancer.server.port=9117"
- "traefik.http.routers.jackett.rule=Host(`${JACKETT_FQDN}`)"
- "traefik.http.routers.jackett.entrypoints=websecure"
- "traefik.http.routers.jackett.tls=true"
- "traefik.http.routers.jackett.tls.certresolver=letsencrypt"
- "traefik.http.routers.jackett.middlewares=authelia@docker"
radarr:
image: "linuxserver/radarr"
restart: "unless-stopped"
expose:
- "7878"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./radarr/init:/custom-cont-init.d/01-init:ro"
- "${SEEDBOX_DIR}:/downloads"
- "radarr:/config"
environment:
PUID: "${SEEDBOX_UID}"
PGID: "${SEEDBOX_GID}"
labels:
- "traefik.enable=true"
- "traefik.http.services.radarr.loadbalancer.server.port=7878"
- "traefik.http.routers.radarr.rule=Host(`${RADARR_FQDN}`)"
- "traefik.http.routers.radarr.entrypoints=websecure"
- "traefik.http.routers.radarr.tls=true"
- "traefik.http.routers.radarr.tls.certresolver=letsencrypt"
- "traefik.http.routers.radarr.middlewares=authelia@docker"
sonarr:
image: "linuxserver/sonarr"
restart: "unless-stopped"
expose:
- "8989"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./sonarr/init:/custom-cont-init.d/01-init:ro"
- "${SEEDBOX_DIR}:/downloads"
- "sonarr:/config"
environment:
PUID: "${SEEDBOX_UID}"
PGID: "${SEEDBOX_GID}"
labels:
- "traefik.enable=true"
- "traefik.http.services.sonarr.loadbalancer.server.port=8989"
- "traefik.http.routers.sonarr.rule=Host(`${SONARR_FQDN}`)"
- "traefik.http.routers.sonarr.entrypoints=websecure"
- "traefik.http.routers.sonarr.tls=true"
- "traefik.http.routers.sonarr.tls.certresolver=letsencrypt"
- "traefik.http.routers.sonarr.middlewares=authelia@docker"
resilio:
image: "linuxserver/resilio-sync"
restart: "unless-stopped"
expose:
- "8888"
ports:
- "4269:4269"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./resilio/sync.conf:/defaults/sync.conf:ro"
- "${SEEDBOX_DIR}:/downloads"
- "${SEEDBOX_DIR}:/sync"
- "resilio:/config"
environment:
PUID: "${SEEDBOX_UID}"
PGID: "${SEEDBOX_GID}"
labels:
- "traefik.enable=true"
- "traefik.http.services.resilio.loadbalancer.server.port=8888"
- "traefik.http.routers.resilio.rule=Host(`${RESILIO_FQDN}`)"
- "traefik.http.routers.resilio.entrypoints=websecure"
- "traefik.http.routers.resilio.tls=true"
- "traefik.http.routers.resilio.tls.certresolver=letsencrypt"
- "traefik.http.routers.resilio.middlewares=authelia@docker"
volumes:
authelia:
jackett:
radarr:
resilio:
sonarr:
traefik:
transmission:
secrets:
authelia_ldap_password:
file: "./secrets/authelia_ldap_password"
authelia_jwt_secret:
file: "./secrets/authelia_jwt_secret"
authelia_smtp_password:
file: "./secrets/authelia_smtp_password"
authelia_session_secret:
file: "./secrets/authelia_session_secret"
authelia_storage_encryption_key:
file: "./secrets/authelia_storage_encryption_key"