113 lines
2.4 KiB
YAML
113 lines
2.4 KiB
YAML
version: "3.5"
|
|
|
|
networks:
|
|
web:
|
|
external: true
|
|
iot:
|
|
external: true
|
|
lan:
|
|
external: true
|
|
|
|
services:
|
|
hass:
|
|
container_name: hass
|
|
image: homeassistant/home-assistant
|
|
restart: always
|
|
networks:
|
|
default:
|
|
web:
|
|
iot:
|
|
lan:
|
|
volumes:
|
|
- /data/files/hass:/config
|
|
depends_on:
|
|
- db
|
|
working_dir: /config
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.docker.network: web
|
|
traefik.http.services.hass.loadbalancer.server.port: 8123
|
|
traefik.http.routers.hass.rule: HOST(`${HASS_ROOT}`)
|
|
traefik.http.routers.hass.tls.certResolver: le
|
|
environment:
|
|
TZ: Europe/Stockholm
|
|
db:
|
|
image: mariadb
|
|
restart: always
|
|
volumes:
|
|
- ./db:/var/lib/mysql
|
|
- /etc/timezone:/etc/timezone
|
|
environment:
|
|
MYSQL_INITDB_SKIP_TZINFO: "true"
|
|
MYSQL_DATABASE: hass
|
|
MYSQL_USER: hass
|
|
MYSQL_PASSWORD: hass
|
|
MYSQL_ROOT_PASSWORD: hass
|
|
|
|
|
|
mqtt:
|
|
image: eclipse-mosquitto:latest
|
|
restart: always
|
|
networks:
|
|
default:
|
|
iot:
|
|
ipv4_address: ${MQTT_IP}
|
|
volumes:
|
|
- ./mqtt/data:/mosquitto/data
|
|
- ./mqtt/log:/mosquitto/log
|
|
|
|
grafana:
|
|
image: grafana/grafana
|
|
restart: always
|
|
volumes:
|
|
- ./grafana:/var/lib/grafana
|
|
- /etc/timezone:/etc/timezone
|
|
networks:
|
|
web:
|
|
default:
|
|
user: "0"
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.docker.network: web
|
|
traefik.http.routers.grafana.rule: HOST(`grafana.${HASS_ROOT}`)
|
|
traefik.http.routers.grafana.tls.certResolver: le
|
|
|
|
influx:
|
|
image: influxdb
|
|
restart: always
|
|
volumes:
|
|
- ./influx:/var/lib/influxdb
|
|
- /etc/timezone:/etc/timezone
|
|
# Only needed during initial setup
|
|
# environment:
|
|
# INFLUXDB_DB: hass
|
|
# INFLUXDB_USER: hass
|
|
# INFLUXDB_USER_PASSWORD: hass
|
|
|
|
|
|
# Devices
|
|
deconz:
|
|
image: marthoc/deconz:amd64
|
|
restart: always
|
|
devices:
|
|
- /dev/conbee:/dev/ttyUSB0
|
|
volumes:
|
|
- ./deconz:/root/.local/share/dresden-elektronik/deCONZ
|
|
- /etc/timezone:/etc/timezone
|
|
networks:
|
|
web:
|
|
default:
|
|
# vnc:
|
|
environment:
|
|
DECONZ_VNC_MODE: 1
|
|
DECONZ_VNC_PASSWORD: secret
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.docker.network: web
|
|
traefik.http.services.deconz.loadbalancer.server.port: 80
|
|
traefik.http.routers.deconz.rule: HOST(`deconz.avagen.${PRIVATE_DOMAIN}`)
|
|
traefik.http.routers.deconz.tls.certResolver: le
|
|
|
|
# mysensors:
|
|
# rflink:
|