-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
193 lines (188 loc) · 5.45 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
version: '3.8'
volumes:
prometheus_data: {}
networks:
front-tier:
back-tier:
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./.HASS_LL_TOKEN:/etc/prometheus/HASS_LL_TOKEN
- prometheus_data:/prometheus
command:
- '--enable-feature=expand-external-labels'
- '--config.file=/etc/prometheus/prometheus.yml'
restart: always
ports:
- 9090:9090
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- back-tier
grafana:
image: grafana/grafana:latest
container_name: grafana
user: '472'
restart: always
ports:
- 3000:3000
volumes:
- ./grafana-data:/var/lib/grafana
- ./grafana.datasource.yml:/etc/grafana/provisioning/datasource.yml
environment:
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,marcusolsson-dynamictext-panel
#- GF_AUTH_ANONYMOUS_ENABLED=true #added
#- GF_SECURITY_COOKIE_SAMESITE=none #added
- GF_SECURITY_ALLOW_EMBEDDING=true #added
networks:
- back-tier
- front-tier
home-assistant:
container_name: hass
image: homeassistant/home-assistant:beta
ports:
- 8000:8123
volumes:
#- ./hass_configuration.yml:/config/configuration.yaml
- ./hass-data:/config
- ./hass-media:/data/media
privileged: true
networks:
- back-tier
- front-tier
restart: always
depends_on:
- grafana
cadvisor:
container_name: cadvisor
# metrics about containers
image: gcr.io/cadvisor/cadvisor-arm64:v0.46.0
volumes:
#- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- 8585:8080
command:
- '--housekeeping_interval=15s'
- '--docker_only=true'
restart: always
networks:
- back-tier
jetson_collector:
build:
context: ./jetson_collector
dockerfile: jetson_collector.Dockerfile
container_name: jetson_collector
restart: always
volumes:
- /run/jtop.sock:/run/jtop.sock
environment:
- COLLECT_TIME=5
- COLLECTOR_PORT=3030
networks:
- back-tier
swag:
image: linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1001
- PGID=1001
- TZ=Europe/Paris
env_file:
- ./.env
volumes:
- ./swag-data:/config
ports:
- 443:443
restart: unless-stopped
networks:
- front-tier
- back-tier
# nginx_prom_exporter:
# container_name: nginx_prom_exporter
# image: nginx/nginx-prometheus-exporter:0.10.0
# command:
# - '-nginx.scrape-uri=https://grafana.curiousdolphin.duckdns.org:16666/nginx_status'
# networks:
# - back-tier
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- ${LOCAL_IP}:53:53/tcp #https://github.com/sameersbn/docker-bind/issues/65
- ${LOCAL_IP}:53:53/udp
- "${LOCAL_IP}:67:67/udp" # Only required if you are using Pi-hole as your DHCP server
- 8181:80/tcp
environment:
TZ: 'Europe/Rome'
WEBPASSWORD: ${PIHOLE_WEB_PWD}
PIHOLE_DNS_: 1.1.1.1;1.0.0.1
# Volumes store your data between container upgrades
volumes:
- './pihole-data/pihole:/etc/pihole'
- './pihole-data/dnsmasq.d:/etc/dnsmasq.d'
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
restart: unless-stopped
networks:
- front-tier
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
volumes:
#- "./mosquitto.conf:/mosquitto/config/mosquitto.conf"
- ./mosquitto/config:/mosquitto/config
- ./mosquitto/log:/mosquitto/log
- ./mosquitto/data/:/mosquitto/data
restart: always
ports:
- 1883:1883
networks:
- back-tier
# webrtcserver:
# container_name: webrtcserver
# build:
# context: ./webRTC
# dockerfile: Dockerfile
# ports:
# - 8989:8080
# networks:
# #- front-tier
# - back-tier
# frigate:
# #image: yeahme49/frigatetensor:latest
# container_name: frigate
# privileged: true # this may not be necessary for all setups
# restart: unless-stopped
# image: blakeblackshear/frigate:stable
# shm_size: "64mb" # update for your cameras based on calculation above
# devices:
# - /dev/bus/usb:/dev/bus/usb # passes the USB Coral, needs to be modified for other versions
# - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
# - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
# volumes:
# - /etc/localtime:/etc/localtime:ro
# - ./frigate.config.yml:/config/config.yml:ro
# - ./frigate-data:/media/frigate
# - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
# target: /tmp/cache
# tmpfs:
# size: 10000000
# networks:
# - back-tier
# ports:
# - "5000:5000"
# - "1935:1935" # RTMP feeds
# environment:
# FRIGATE_RTSP_PASSWORD: "pippopluto"
# NVIDIA_VISIBLE_DEVICES: all
# NVIDIA_DRIVER_CAPABILITIES: "compute,utility,video"