-
Notifications
You must be signed in to change notification settings - Fork 18
/
docker-compose.yml
118 lines (110 loc) · 3.17 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
---
version: "3"
services:
ecowitt2mqtt:
depends_on:
- vernemq
environment:
ECOWITT2MQTT_HASS_DISCOVERY: "true"
ECOWITT2MQTT_MQTT_BROKER: vernemq
ECOWITT2MQTT_MQTT_PASSWORD: ${VERNEMQ_PASSWORD_ECOWITT}
ECOWITT2MQTT_MQTT_USERNAME: ecowitt
image: bachya/ecowitt2mqtt:${ECOWITT2MQTT_VERSION}
ports:
- 8080:8080/tcp
restart: unless-stopped
eufy-security-ws:
environment:
PASSWORD: ${EUFY_SECURITY_WS_PASSWORD}
TRUSTED_DEVICE_NAME: eufy-security-ws
USERNAME: ${EUFY_SECURITY_WS_USERNAME}
image: bropat/eufy-security-ws:${EUFY_SECURITY_WS_VERSION}
ports:
- 127.0.0.1:3001:3000/tcp
restart: unless-stopped
volumes:
- eufy-security-ws-data:/data
esphome:
environment:
PASSWORD: "${ESPHOME_PASSWORD}"
USERNAME: "${ESPHOME_USERNAME}"
image: esphome/esphome:${ESPHOME_VERSION}
network_mode: host
restart: unless-stopped
volumes:
- ./esphome:/config
hass:
depends_on:
- hass-db
- vernemq
- zwave-js
image: ghcr.io/home-assistant/home-assistant:${HOME_ASSISTANT_CORE_VERSION}
network_mode: host
restart: unless-stopped
volumes:
- ./hass/settings/blueprints:/config/blueprints
- ./hass/settings/conf:/config/conf
- ./hass/settings/configuration.yaml:/config/configuration.yaml
- ./hass/settings/custom_components:/config/custom_components
- ./hass/settings/scenes.yaml:/config/scenes.yaml
- ./hass/settings/secrets.yaml:/config/secrets.yaml
- hass-config:/config
hass-db:
environment:
POSTGRES_DB: ${HASS_DB_NAME}
POSTGRES_PASSWORD: ${HASS_DB_PASSWORD}
POSTGRES_USER: ${HASS_DB_USER}
healthcheck:
interval: 5s
retries: 3
test:
- CMD-SHELL
- pg_isready -U ${HASS_DB_USER}
timeout: 10s
image: postgres:${POSTGRES_VERSION}-alpine
ports:
- 5432:5432/tcp
restart: unless-stopped
volumes:
- hass-db-data:/var/lib/postgresql/data
vernemq:
environment:
DOCKER_VERNEMQ_ACCEPT_EULA: "yes"
DOCKER_VERNEMQ_PLUGINS.vmq_bridge: "on"
DOCKER_VERNEMQ_USER_ECOWITT: ${VERNEMQ_PASSWORD_ECOWITT}
DOCKER_VERNEMQ_USER_HASS: ${VERNEMQ_PASSWORD_HASS}
DOCKER_VERNEMQ_USER_RTLAMR: ${VERNEMQ_PASSWORD_RTLAMR}
DOCKER_VERNEMQ_USER_SWITCHBOT: ${VERNEMQ_PASSWORD_SWITCHBOT}
DOCKER_VERNEMQ_USER_VALETUDO: ${VERNEMQ_PASSWORD_VALETUDO}
healthcheck:
interval: 5s
retries: 3
test:
- CMD-SHELL
- vernemq ping | grep -q pong
timeout: 10s
image: vernemq/vernemq:${VERNEMQ_VERSION}-alpine
ports:
- 1883:1883/tcp
restart: unless-stopped
user: root
volumes:
- /etc/ssl:/etc/ssl:ro
- /usr/share/ca-certificates:/usr/share/ca-certificates:ro
zwave-js:
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
environment:
NETWORK_KEY: ${ZWAVE_JS_NETWORK_KEY}
image: zwavejs/zwavejs2mqtt:${ZJS2M_VERSION}
ports:
- 127.0.0.1:3000:3000/tcp
- 8091:8091/tcp
restart: unless-stopped
volumes:
- zwave-js-config:/usr/src/app/store
volumes:
hass-config:
hass-db-data:
eufy-security-ws-data:
zwave-js-config: