services: homeassistant: image: ghcr.io/home-assistant/home-assistant:stable container_name: homeassistant restart: unless-stopped privileged: true environment: - TZ=America/Chicago volumes: - /mnt/docker-data/configs/homeassistant:/config ports: - "8123:8123" dns: - 192.168.86.1 - 8.8.8.8 mem_limit: 4G memswap_limit: 4G depends_on: - mosquitto logging: driver: "json-file" options: max-size: "50m" max-file: "3" esphome: image: esphome/esphome:latest container_name: esphome restart: unless-stopped environment: - TZ=America/Chicago volumes: - /mnt/docker-data/configs/esphome/config:/config ports: - "6052:6052" mem_limit: 2G memswap_limit: 2G healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:6052/ || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 30s logging: driver: "json-file" options: max-size: "50m" max-file: "3" mosquitto: image: eclipse-mosquitto:latest container_name: mosquitto restart: unless-stopped volumes: - /mnt/docker-data/configs/mosquitto:/mosquitto ports: - "1883:1883" - "8883:8883" mem_limit: 128M memswap_limit: 128M logging: driver: "json-file" options: max-size: "50m" max-file: "3"