-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathsmarthome.yml
120 lines (113 loc) · 3.2 KB
/
smarthome.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
version: "3"
# a couple of services for your smarthome, remember to set up your .env file first
services:
mosquitto:
image: "eclipse-mosquitto:1.6"
restart: unless-stopped
volumes:
- "${DATADIR}/mosquitto/config:/mosquitto/config"
- "${DATADIR}/mosquitto/data:/mosquitto/data"
- "${DATADIR}/mosquitto/log:/mosquitto/log"
ports:
- 1883:1883
grafana:
image: "grafana/grafana:latest"
restart: unless-stopped
user: "$PUID:$PGID"
depends_on:
influxdb:
condition: service_healthy
volumes:
- "${DATADIR}/grafana/data:/var/lib/grafana"
ports:
- 3000:3000
# uncomment this if you wanta to allow anonymus acces to Grafana for embedding (e.g. in Home Assistant dashboards)
#environment:
# - GF_AUTH_DISABLE_LOGIN_FORM=true
# - GF_AUTH_ANONYMOUS_ENABLED=true
# - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
# - GF_SECURITY_ALLOW_EMBEDDING=true
influxdb:
image: "influxdb:1.8"
restart: unless-stopped
volumes:
- "${DATADIR}/influxdb/data:/var/lib/influxdb"
healthcheck:
test: ["CMD", "curl", "-sI", "http://127.0.0.1:8086/ping"]
interval: 30s
timeout: 1s
retries: 24
ports:
- 127.0.0.1:8086:8086
tasmoadmin:
image: "raymondmm/tasmoadmin"
restart: unless-stopped
volumes:
- "${DATADIR}/tasmoadmin:/data"
ports:
- 3080:80
zigbee2mqtt:
image: koenkk/zigbee2mqtt
depends_on:
mosquitto:
condition: service_started
restart: unless-stopped
ports:
- 6080:8080 # if you enabled the web UI
volumes:
- ${DATADIR}/zigbee2mqtt/data:/app/data
- /run/udev:/run/udev:ro
devices:
- /dev/ttyACM0:/dev/ttyACM0 # or whichever port your Zigbee stick is connected to
environment:
- TZ=${TZ}
logging:
driver: loki
options:
loki-url: "http://localhost:3100/loki/api/v1/push"
max-size: "500m"
zigbee2mqttAssistant:
image: carldebilly/zigbee2mqttassistant
restart: unless-stopped
depends_on:
zigbee2mqtt:
condition: service_started
environment:
- Z2MA_SETTINGS__MQTTSERVER=mosquitto
- TZ=${TZ}
ports:
- 8880:80
homeassistant:
container_name: homeassistant
restart: unless-stopped
image: ghcr.io/home-assistant/home-assistant:stable # or chose any version you like
#devices:
# - /dev/ttyUSB0:/dev/ttyUSB0
# - /dev/ttyUSB1:/dev/ttyUSB1
# - /dev/ttyACM0:/dev/ttyACM0
volumes:
- ${DATADIR}/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
- /dev/serial/by-id/:/dev/serial/by-id/
# alternative needed for auto discovery, bluetooth,...
#network_mode: host
#privileged: true
depends_on:
influxdb:
condition: service_healthy
mosquitto:
condition: service_started
ports:
- 8123:8123
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
labels:
# don't automatically update this container as it might break your setup
- "com.centurylinklabs.watchtower.enable=false"
logging:
driver: loki
options:
loki-url: "http://localhost:3100/loki/api/v1/push"
max-size: "500m"