101 lines
2.8 KiB
Django/Jinja
101 lines
2.8 KiB
Django/Jinja
version: '3'
|
|
|
|
services:
|
|
homeassistant:
|
|
image: homeassistant/home-assistant:{{ homeassistant.version }}
|
|
volumes:
|
|
# We do not yes manage configs with ansible
|
|
- ./config/homeassistant:/config
|
|
- /etc/localtime:/etc/localtime:ro
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
network_mode: "host"
|
|
# networks:
|
|
# local_network:
|
|
# ipv4_address: ${SUBNET}.2
|
|
depends_on:
|
|
- zigbee2mqtt
|
|
- mariadb
|
|
- mosquitto
|
|
extra_hosts:
|
|
- "zwave:${SUBNET}.3"
|
|
- "zigbee2mqtt:${SUBNET}.6"
|
|
- "mariadb:${SUBNET}.4"
|
|
- "mosquitto:${SUBNET}.5"
|
|
# ports:
|
|
# - 8123:8123
|
|
# - 1400:1400
|
|
# - 1401:1401
|
|
|
|
{% if homeassistant.mqtt.zigbee2mqtt.zigbee_adapter_id %}
|
|
zigbee2mqtt:
|
|
# 8080
|
|
image: ghcr.io/koenkk/zigbee2mqtt:{{ homeassistant.mqtt.zigbee2mqtt.version }}
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/zigbee2mqtt:/app/data
|
|
- /run/udev:/run/udev:ro
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
networks:
|
|
local_network:
|
|
ipv4_address: ${SUBNET}.6
|
|
exposed:
|
|
devices:
|
|
# Make sure this matched your adapter location
|
|
- /dev/serial/by-id/{{ homeassistant.mqtt.zigbee2mqtt.zigbee_adapter_id }}:/dev/ttyUSB0
|
|
labels:
|
|
traefik.enable: true
|
|
|
|
traefik.http.routers.homeassistant-mqtt.entrypoints: https
|
|
traefik.http.routers.homeassistant-mqtt.rule: Host(`{{ homeassistant.mqtt.zigbee2mqtt.domain }}`)
|
|
traefik.http.services.homeassistant-mqtt.loadbalancer.server.port: 8080
|
|
traefik.http.routers.homeassistant-mqtt.tls: "true"
|
|
traefik.http.routers.homeassistant-mqtt.tls.certresolver: hetzner
|
|
traefik.http.routers.homeassistant-mqtt.middlewares: local-only@file
|
|
{% endif %}
|
|
|
|
mosquitto:
|
|
image: eclipse-mosquitto:{{ homeassistant.mqtt.mosquitto.version }}
|
|
restart: unless-stopped
|
|
user: "1883:1883"
|
|
volumes:
|
|
- ./config/mosquitto:/mosquitto/config:ro
|
|
- ./data/mosquitto:/mosquitto/data
|
|
- ./data/mosquitto/log:/mosquitto/log
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
networks:
|
|
local_network:
|
|
ipv4_address: ${SUBNET}.5
|
|
|
|
mariadb:
|
|
image: mariadb:10.11.2
|
|
volumes:
|
|
- ./data/mariadb:/var/lib/mysql
|
|
- ./config/mariadb:/etc/mysql/conf.d
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
restart: unless-stopped
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: {{ homeassistant.mariadb.password }}
|
|
MARIADB_MYSQL_LOCALHOST_USER: "yes"
|
|
MARIADB_MYSQL_LOCALHOST_GRANTS: "yes"
|
|
MARIADB_AUTO_UPGRADE: "yes"
|
|
MARIADB_DISABLE_UPGRADE_BACKUP: "yes"
|
|
TZ: Europe/Berlin
|
|
networks:
|
|
local_network:
|
|
ipv4_address: ${SUBNET}.4
|
|
|
|
networks:
|
|
local_network:
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: ${SUBNET}.0/24
|
|
exposed:
|
|
name: traefik_exposed
|
|
external: true
|