version: '3.0' services: ####### H O M E - A S S I S T A N T ##### home-assistant: container_name: home-assistant #image: homeassistant/home-assistant:latest image: ghcr.io/home-assistant/home-assistant:stable restart: unless-stopped depends_on: - mqtt environment: - TZ=Europe/Brussels - PUID=1000 - PGID=1000 - UMASK=007 - PACKAGES=iputils cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - FSETID - FOWNER - SETGID - SETUID - SYS_CHROOT - KILL - NET_RAW - NET_ADMIN security_opt: - no-new-privileges ports: - 8123:8123 volumes: - ${PROJECT_DIR}./homeassistant/config:/config - /etc/localtime:/etc/localtime:ro healthcheck: test: curl --fail http://0.0.0.0:8123/auth/providers || exit 1 interval: 90s retries: 5 start_period: 5s timeout: 15s # privileged: false networks: - outside ####### M Q T T - B R O K E R ##### mqtt: container_name: mqtt-broker image: eclipse-mosquitto:2 restart: unless-stopped expose: - 1883 volumes: - ${PROJECT_DIR}./mosquitto/config:/mosquitto/config - ${PROJECT_DIR}./mosquitto/data:/mosquitto/data networks: outside: ipv4_address: 172.28.1.5 # static IP required to receive mDNS traffic ####### T S U N - P R O X Y ###### tsun-proxy: container_name: tsun-proxy image: ghcr.io/s-allius/tsun-gen3-proxy:latest restart: unless-stopped depends_on: - mqtt environment: - TZ=Europe/Brussels - UID=${UID:-1000} - GID=${GID:-1000} dns: - ${DNS1:-8.8.8.8} - $(DNS2:-4.4.4.4} ports: - 5005:5005 - 10000:10000 volumes: - ${PROJECT_DIR}./tsun-proxy/log:/home/tsun-proxy/log - ${PROJECT_DIR}./tsun-proxy/config:/home/tsun-proxy/config networks: - outside ####### N E T W O R K S ###### networks: outside: name: home-assistant external: true ipam: driver: default config: - subnet: 172.28.1.0/26 ip_range: 172.28.1.32/27 gateway: 172.28.1.62