Skip to content

Instantly share code, notes, and snippets.

@rplevka
Created May 12, 2021 09:29
Show Gist options
  • Save rplevka/315e794da3d889bd273cd179a412a362 to your computer and use it in GitHub Desktop.
Save rplevka/315e794da3d889bd273cd179a412a362 to your computer and use it in GitHub Desktop.
hass docker-compose
version: '3'
services:
mosquitto:
image: eclipse-mosquitto:1.6.12
restart: always
ports:
- 1883:1883
- 8883:8883
- 9001:9001
volumes:
- /etc/localtime:/etc/localtime:ro
- ./mosquitto-data/config:/mosquitto/config:z
- ./mosquitto-data/data:/mosquitto/data:z
- ./mosquitto-data/logs:/mosquitto/logs:z
networks:
- mqtt
homeassistant:
image: homeassistant/home-assistant:stable
#image: homeassistant/home-assistant:0.110.4
labels:
#- traefik.hass.headers.SSLHost=hass.foobar.cz
- traefik.enable=true
- traefik.backend=hass
- traefik.port=8123
- traefik.docker.network=traefik
- traefik.http.routers.hass.rule=Host(`hass.lan`)
- traefik.http.routers.hass.tls.certresolver=le
- traefik.http.routers.hass.entrypoints=websecure
- traefik.http.middlewares.hass-redirect-web-secure.redirectscheme.scheme=https
- traefik.hass.headers.SSLRedirect=true
- traefik.hass.headers.STSSeconds=315360000
- traefik.hass.headers.browserXSSFilter=true
- traefik.hass.headers.contentTypeNosniff=true
- traefik.hass.headers.forceSTSHeader=true
- traefik.hass.headers.STSIncludeSubdomains=true
- traefik.hass.headers.STSPreload=true
- "traefik.hass.headers.customFrameOptionsValue: allow-from https:foobar.cz"
volumes:
- ./config:/config:z
- /etc/localtime:/etc/localtime:ro
ports:
- 8123:8123
depends_on:
- mosquitto
- influxdb
restart: always
environment:
- TZ=Europe/Prague
#network_mode: host
networks:
- hass
- traefik
nodered:
image: nodered/node-red
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.nodered.rule=Host(`nodered.lan`)
#ports:
# - 1880:1880
volumes:
- ./node-red-data:/data:z
- /etc/localtime:/etc/localtime:ro
depends_on:
- mosquitto
- homeassistant
restart: always
#network_mode: host
networks:
- hass
- traefik
influxdb:
image: influxdb:1.8
volumes:
- ./influxdb-data/db:/var/lib/influxdb:z
- ./influxdb-data/data:/root/.influxdb/data:z
#- ./influxdb-data/conf:/etc/influxdb:z
restart: always
ports:
- 8086:8086
environment:
- INFLUXDB_USER=admin
- INFLUXDB_USER_PASSWORD=admin
- INFLUXDB_DB=hass
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.influxdb.rule=Host(`influxdb.lan`)
- traefik.port=8086
networks:
- hass
- traefik
grafana:
image: grafana/grafana
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.grafana.rule=Host(`grafana.lan`)
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
volumes:
- ./grafana-data:/var/lib/grafana
- ./config/zigbee.db:/zigbee.db:z
depends_on:
- influxdb
restart: always
networks:
- hass
- traefik
tasmoadmin:
image: raymondmm/tasmoadmin
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.tasmoadmin.rule=Host(`tasmoadmin.lan`)
ports:
- 25380:80
volumes:
- ./tasmoadmin-data:/data
depends_on:
- homeassistant
restart: always
networks:
- hass
- traefik
networks:
mqtt:
external: true
hass:
traefik:
external: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment