commit 05c8d61e0acdd4a7445281ad03a1acb578bc3561 Author: Thomas Lovén Date: Sat Mar 7 23:29:09 2020 +0100 Initial commit diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..6b4546b --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,112 @@ +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: