Есть много инструкций по установке систем умного дома как и много самих систем умного дома,это очередная которая быстро позволит Вам установить систему Home Assistant, в этой инструкции мы установим не только HomeAssistant но и zigbee2mqtt, Node-red, mosquitto, esphome и систему резервного копирования duplicati на свеже установленный Linux
Устанавливаем docker по инструкции в соответствии с вашей системой,
создаем папку где будут у нас храниться все настройки, у меня это /root/docker
mkdir /root/docker
переходим в папку
cd /root/docker
создаем там файл с именем docker-compose.yaml
nano docker-compose.yaml
со следующим содержимым
networks: netlemp: name: mylan driver: bridge driver_opts: com.docker.network.bridge.name: br-mylan ipam: config: - subnet: ${IP_ADR:-172.100.0}.0/24 gateway: ${IP_ADR:-172.100.0}.1 services: portainer: image: portainer/portainer-ce:latest container_name: portainer environment: - TZ=Europe/Luxembourg volumes: - /var/run/docker.sock:/var/run/docker.sock - ./portainer:/data ports: - 9443:9443 restart: always networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.2 homeassistant: container_name: homeassistant image: "ghcr.io/home-assistant/home-assistant:stable" volumes: - ./ha:/config - /etc/localtime:/etc/localtime:ro - /run/dbus:/run/dbus:ro restart: always privileged: true networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.3 ports: - 8123:8123 zigbee2mqtt: container_name: z2m image: koenkk/zigbee2mqtt restart: always volumes: - ./z2m:/app/data - /run/udev:/run/udev:ro ports: - 8080:8080 environment: - TZ=Europe/Berlin devices: - /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0:/dev/ttyACM0 networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.4 duplicati: image: duplicati/duplicati:latest container_name: duplicati volumes: - ./duplicati:/data - ./:/docker ports: - 8200:8200 restart: always networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.5 esphome: container_name: esphome image: ghcr.io/esphome/esphome volumes: - ./esphome:/config - /etc/localtime:/etc/localtime:ro restart: always privileged: true network_mode: host environment: - ESPHOME_DASHBOARD_USE_PING:true node-red: container_name: node-red image: nodered/node-red:latest restart: always environment: - TZ=Europe/Luxembourg ports: - 1880:1880 volumes: - ./nodered:/data networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.6 mqtt: container_name: mosquitto image: eclipse-mosquitto restart: unless-stopped volumes: - ./mosquitto:/mosquitto # ports: # - 1883:1883 command: "mosquitto -c /mosquitto-no-auth.conf" networks: netlemp: ipv4_address: ${IP_ADR:-172.100.0}.7
Этот файл содержит настройки для установки Portainer (для управления контейнерами) HomeAssistant (система умного дома), zigbee2mqtt, mosquitto, esphome, node-red, duplicati (резервное копирование). Если какой то сервис не нужен то просто удалите соответствующую секцию файла или закомментируйте строки. Так же если будете использовать mqtt на другой машине то раскомментируйте строки с пробросом порта, для zigbee2mqtt необходимо отредактировать строку с именем usb адаптера.
сохраните файл и выполните в консоли команду
docker compose up -d
docker compose скачает необходимые пакеты и установит всё, что перечислено в файле docker-compose.yaml
На этом установка завершена, в соответствующие службы можно получить доступ по соответствующим портам, доступ к Portainer по протоколу https
На этом установка завершена.