-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
259 lines (259 loc) · 7.3 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
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
version: '3.8'
services:
swag:
image: ghcr.io/linuxserver/swag:2.4.0-ls195
container_name: swag
cap_add:
- NET_ADMIN
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- URL="${DOMAIN}"
- SUBDOMAINS=wildcard
- VALIDATION=dns
- CERTPROVIDER=zerossl
- DNSPLUGIN=cloudflare
- PROPAGATION=30
- EMAIL="${EMAIL}"
- DOCKER_MODS=ghcr.io/linuxserver/mods:swag-crowdsec
- CROWDSEC_API_KEY=${CROWDSEC_API_KEY}
- CROWDSEC_LAPI_URL=http://crowdsec:8080
volumes:
- /home/pi/repo/swag:/config
ports:
- 443:443
- 80:80 #optional
restart: unless-stopped
wireguard-web:
environment:
- WG_HOST=${DOMAIN}
- PASSWORD=${WG_PASSWORD}
image: weejewel/wg-easy
container_name: wireguard-web
volumes:
- /home/pi/wg-easy:/etc/wireguard
ports:
- "51820:51820/udp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- SERVERURL=haum.cc #optional
- SERVERPORT=51820 #optional
- PEERS=ipad,nil_iphone,steve_iphone,mac_scopely,nil_iphone_14 #optional
- PEERDNS=auto #optional
- LOG_CONFS=true #optional
volumes:
- /home/pi/wireguard:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
restart: unless-stopped
heimdall:
image: ghcr.io/linuxserver/heimdall
container_name: heimdall
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /home/pi/heimdall:/config
expose:
- 80
- 443
restart: unless-stopped
authelia:
image: authelia/authelia:4.37.5
container_name: authelia
ports:
- 9091:9091
secrets:
- google_pwd
environment:
- TZ=Europe/Madrid
- PUID=1000
- PGID=1000
volumes:
- /home/pi/authelia:/config
restart: unless-stopped
homeassistant:
container_name: homeassistant
environment:
- TZ=Europe/Madrid
volumes:
- '/home/pi/repo:/config'
build:
dockerfile: ./Dockerfile
context: patch_homeassistant/
network_mode: host
restart: always
scrypted:
image: koush/scrypted
container_name: scrypted
restart: unless-stopped
network_mode: host
volumes:
- '/home/pi/scrypted/volume:/server/volume'
google-assistant-relay:
container_name: assistant-relay
image: 'tijunoi/rpi-assistant-relay'
command: npm run start
volumes:
- '/home/pi/repo/assistant_relay/config.json:/assistant_relay/bin/config.json:rw'
- '/home/pi/repo/assistant_relay/audio-responses:/assistant_relay/bin/audio-responses:rw'
ports:
- '3000:3000'
restart: always
deconz:
container_name: deconz
image: deconzcommunity/deconz
network_mode: host
privileged: true
restart: always
volumes:
- '/home/pi/deconz:/opt/deCONZ'
- '/etc/localtime:/etc/localtime:ro'
devices:
- /dev/ttyACM0
environment:
- DECONZ_DEVICE=/dev/ttyACM0
- DECONZ_WEB_PORT=8080
- DECONZ_WS_PORT=8443
- DEBUG_INFO=1
- TZ=Europe/Madrid
- DECONZ_VNC_MODE=1
- DECONZ_VNC_PASSWORD="${DECONZ_VNC_PASSWORD}"
webserver:
container_name: webserver
image: 'httpd:2.4'
volumes:
- '/home/pi/repo/www/:/usr/local/apache2/htdocs'
ports:
- 8084:80
restart: always
homebridge:
container_name: homebridge
image: oznu/homebridge
restart: always
network_mode: host
environment:
- TZ=Europe/Madrid
- PGID=1000
- PUID=1000
- HOMEBRIDGE_CONFIG_UI=1
- HOMEBRIDGE_CONFIG_UI_PORT=8085
volumes:
- '/home/pi/repo/homebridge:/homebridge'
portainer:
image: portainer/portainer-ce:alpine
container_name: portainer
restart: always
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
expose:
- 9000
ports:
- 8083:9000
mqtt:
container_name: mqtt
image: eclipse-mosquitto
restart: unless-stopped
user: '1000'
ports:
- 1883:1883
- 9001:9001
volumes:
- './mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf'
- '/home/pi/mosquitto/data:/mosquitto/data'
valetudo-mapper:
container_name: valetudo-mapper
image: rand256/valetudo-mapper
restart: always
volumes:
- './valetudo-mapper/config.json:/app/config.json'
duplicati:
container_name: duplicati
image: linuxserver/duplicati
restart: always
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
volumes:
- '/home/pi/repo/duplicati:/config'
- '/home/pi:/source'
ports:
- 8200:8200
code-server:
image: ghcr.io/linuxserver/code-server
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
volumes:
- /home/pi/vscode:/config
- /home/pi/homer/:/config/homer
- /home/pi:/config/pihost
expose:
- 8443
restart: unless-stopped
homer:
image: b4bz/homer
container_name: homer
volumes:
- /home/pi/homer:/www/assets
expose:
- 8080
environment:
- UID=1000
- GID=1000
restart: unless-stopped
kuma:
container_name: kuma
image: louislam/uptime-kuma:1
restart: always
environment:
- UID=1000
- GUD=1000
volumes:
- /home/pi/kuma:/app/data
expose:
- 3001
duckdns:
image: lscr.io/linuxserver/duckdns
container_name: duckdns
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- SUBDOMAINS=hoio
- FILE__TOKEN=/run/secrets/duckdns_token
restart: unless-stopped
secrets:
- duckdns_token
secrets:
google_pwd:
file: ../.secrets/google_pwd.txt
jwt:
file: ../.secrets/jwt.txt
session:
file: ../.secrets/session.txt
duckdns_token:
file: ../.secrets/duckdns_token.txt