-
Notifications
You must be signed in to change notification settings - Fork 4
/
always-on.yml
351 lines (323 loc) · 9.49 KB
/
always-on.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
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
x-env: &env
PGID: 1001
PUID: 1001
UMASK: 002
TZ: Asia/Kolkata
x-timezone: &tz
TZ: Asia/Kolkata
x-logging: &log
logging:
driver: journald
networks:
vlan:
name: vlan
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 10.0.0.1/24
gateway: 10.0.0.1
ip_range: 10.0.0.96/30 # 10.0.0.96 - 10.0.0.99
default:
name: network1
ipam:
config:
- subnet: 172.18.0.0/16
proxy:
name: proxy
ipam:
config:
- subnet: 172.19.1.0/24
dns:
name: dns
ipam:
config:
- subnet: 172.19.2.0/24
services:
dpiproxy:
container_name: dpi-proxy
image: hectorm/demergi
restart: unless-stopped
command: --dns-mode plain
ports:
- 2000:8080
adguard:
container_name: adguard
image: adguard/adguardhome:v0.107.29
restart: unless-stopped
expose: ['80']
healthcheck:
disable: true
environment:
<<: *tz
networks:
dns:
vlan:
ipv4_address: 10.0.0.99
volumes:
- /opt/appdata/adguardhome/data:/opt/adguardhome/work
- /opt/appdata/adguardhome/config:/opt/adguardhome/conf
labels:
traefik.enable: true
traefik.name: dns
traefik.docker.network: dns
traefik.http.services.adguard.loadbalancer.server.port: 80
traefik.http.routers.adguard.middlewares: adguard-themepark
traefik.http.middlewares.adguard-themepark.plugin.rewritebody.rewrites.regex: </head>
traefik.http.middlewares.adguard-themepark.plugin.rewritebody.rewrites.replacement: <link href="https://10.0.0.10:7070/css/base/adguard/nord.css" rel="stylesheet" type="text/css" </head>
traefik.http.middlewares.adguard-themepark.plugin.rewritebody.rewrites.type: text/html
# webtools:
# container_name: web-tools
# image: agneev/webnet-tools
# restart: unless-stopped
# labels:
# traefik.enable: true
# traefik.name: netdiags
iperf3:
container_name: iperf3
image: taoyou/iperf3-alpine
restart: unless-stopped
ports:
- 5201:5201/tcp
- 5201:5201/udp
dashdot:
container_name: dash.
image: mauricenino/dashdot
restart: unless-stopped
privileged: true
environment:
DASHDOT_NETWORK_SHOWN_DATAPOINTS: 30
DASHDOT_SPEED_TEST_INTERVAL: 1440
DASHDOT_PAGE_TITLE: dash. - always-on
DASHDOT_ENABLE_CPU_TEMPS: true
DASHDOT_ENABLE_STORAGE_SPLIT_VIEW: true
DASHDOT_ALWAYS_SHOW_PERCENTAGES: true
DASHDOT_ACCEPT_OOKLA_EULA: true
ports:
- 90:3001
volumes:
- /:/mnt/host:ro
labels:
traefik.enable: true
traefik.http.routers.dashdot.rule: Host(`always-on.nt`)
smokeping:
container_name: smokeping
image: linuxserver/smokeping:2.7.3-r5-ls12
restart: unless-stopped
dns:
- 8.8.8.8
networks:
proxy:
vlan:
ipv4_address: 10.0.0.97
environment:
<<: *env
volumes:
- /opt/appdata/smokeping/config:/config
- /var/log/smokeping_data:/data
labels:
traefik.enable: true
traefik.docker.network: proxy
traefik.http.routers.smokeping.rule: Host(`smokeping.nt`) || Host(`ping-agneev.duckdns.org`)
traefik.http.routers.smokeping.middlewares: smokeping-redirect,smokeping-themecolor
traefik.http.middlewares.smokeping-redirect.redirectRegex.regex: \/$
traefik.http.middlewares.smokeping-redirect.redirectRegex.replacement: /smokeping/?target=isp-network.wan-gateway
traefik.http.middlewares.smokeping-themecolor.plugin.rewritebody.rewrites.regex: </head>
traefik.http.middlewares.smokeping-themecolor.plugin.rewritebody.rewrites.replacement: <meta name="theme-color" content="#4C4C4C"> </head>
traefik.http.middlewares.smokeping-themecolor.plugin.rewritebody.rewrites.type: text/html
themepark:
container_name: theme.park
image: gilbn/theme.park
restart: unless-stopped
environment:
TP_SCHEME: http
<<: *env
ports:
- 7070:80
tmpfs:
- /config:size=150m
dozzle:
container_name: dozzle
image: amir20/dozzle
restart: always
environment:
DOZZLE_REMOTE_HOST: tcp:https://falcon:2375,tcp:https://oc-bom1:2000,tcp:https://gcp1:2375
DOZZLE_USERNAME: ${DOZZLE_USERNAME}
DOZZLE_PASSWORD: ${DOZZLE_PASSWORD}
DOZZLE_NO_ANALYTICS: true
ports:
- 8000:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
traefik.enable: true
traefik.name: logs
airconnect:
container_name: airconnect
image: 1activegeek/airconnect
restart: unless-stopped
network_mode: host
environment:
ARCH_VAR: aarch64
vnstat:
container_name: vnstat
image: vergoh/vnstat
restart: unless-stopped
network_mode: host
environment:
SERVER_NAME: always-on
HTTP_PORT: 7000
LARGE_FONTS: 1
HTTP_LOG: /dev/null
<<: *tz
volumes:
- /opt/appdata/vnstat:/var/lib/vnstat
labels:
traefik.enable: true
traefik.name: vnstat
traefik.http.services.vnstat.loadbalancer.server.port: 7000
vnstat2:
container_name: vnstat-router
image: vergoh/vnstat
environment:
SERVER_NAME: orbi
LARGE_FONTS: 1
HTTP_LOG: /dev/null
RUN_VNSTATD: 0
<<: *tz
ports:
- 8660:8685
volumes:
- /mnt/res2:/var/lib/vnstat:ro
labels:
traefik.enable: true
traefik.http.routers.vnstat-router.rule: Host(`vnstat.router.nt`)
traefik:
container_name: traefik
image: traefik
restart: unless-stopped
mem_limit: 200m
command:
- --api.insecure=true
- --log.level=INFO
- --global.checknewversion=false
- --global.sendanonymoususage=false
- --experimental.localplugins.rewritebody.modulename=github.com/packruler/rewrite-body
- --providers.docker=true
- --providers.docker.exposedByDefault=false
- --providers.docker.defaultRule=Host(`{{ index .Labels "traefik.name" }}.nt`)
- --providers.file.filename=/etc/traefik/file-provider.yml
- --providers.file.watch=true
extra_hosts:
- "host.docker.internal:10.0.0.10"
networks:
- default
- proxy
- dns
ports:
- 80:80/tcp
- 8090:8080/tcp
volumes:
- /opt/appdata/traefik/config:/etc/traefik
- /opt/appdata/traefik/plugins:/plugins-local
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
traefik.enable: true
traefik.http.routers.web.rule: Host(`web.nt`) || Host(`10.0.0.10`) || Host(`always-on`)
traefik.http.routers.web.service: api@internal
traefik.http.middlewares.to-https.redirectscheme.scheme: https
traefik.http.middlewares.homer-cors.headers.accessControlAllowMethods: GET # PUT,OPTIONS
traefik.http.middlewares.homer-cors.headers.accessControlAllowOriginList: https://home.lab
filebrowser:
container_name: filebrowser
image: filebrowser/filebrowser
restart: unless-stopped
user: "1001:1001"
healthcheck:
disable: true
environment:
FB_DATABASE: /config/database.db
FB_DISABLE-EXEC: true
FB_DISABLE-TYPE-DETECTION-BY-HEADER: true
FB_DISABLE-PREVIEW-RESIZE: true
volumes:
- /opt/appdata/filebrowser:/config
- /home/agneev:/srv/home
- /opt/appdata:/srv/appdata
- /mnt:/srv/mnt
labels:
traefik.enable: true
traefik.name: files
homer:
container_name: homer
image: b4bz/homer
restart: unless-stopped
user: 1001:1001
healthcheck:
disable: true
volumes:
- /opt/appdata/homer:/www/assets
labels:
traefik.enable: true
traefik.http.routers.homer.rule: Host(`home.lab`)
speedtesttracker:
container_name: speedtest-tracker
image: henrywhitaker3/speedtest-tracker:dev-arm
restart: unless-stopped
ports:
- 8700:80
environment:
OOKLA_EULA_GDPR: true
<<: *env
tmpfs:
- /config/www:size=500m
- /config/log:size=32m
volumes:
- /opt/appdata/speedtest-tracker/app:/config/www/app/Bin
- /opt/appdata/speedtest-tracker:/config
labels:
traefik.enable: true
traefik.name: speedtest
traefik.http.routers.speedtesttracker.middlewares: homer-cors
openspeedtest:
container_name: openspeedtest
image: openspeedtest/latest
restart: unless-stopped
ports:
- 9999:3000
homebridge:
image: oznu/homebridge
container_name: homebridge
restart: unless-stopped
networks:
- default
- vlan
environment:
<<: *env
volumes:
- /opt/appdata/homebridge:/homebridge
labels:
traefik.enable: true
traefik.name: homebridge
traefik.docker.network: network1
portainer:
container_name: portainer
image: portainer/portainer-ee:2.14.2
restart: always
logging:
driver: none
ports:
- 9000:9000
volumes:
- /opt/appdata/portainer:/data
- /var/run/docker.sock:/var/run/docker.sock
labels:
traefik.enable: true
traefik.name: portainer
traefik.http.services.portainer.loadbalancer.server.port: 9000
traefik.http.routers.portainer.middlewares: portainer-themecolor,portainer-cors,homer-cors
traefik.http.middlewares.portainer-themecolor.plugin.rewritebody.rewrites.regex: name="theme-color" content="#ffffff"/>
traefik.http.middlewares.portainer-themecolor.plugin.rewritebody.rewrites.replacement: <div></div>
traefik.http.middlewares.portainer-themecolor.plugin.rewritebody.rewrites.type: text/html
traefik.http.middlewares.portainer-cors.headers.accessControlAllowHeaders: X-Api-Key