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: