Быстрая установка системы умного дома HomeAssistant

Есть много инструкций по установке систем умного дома как и много самих систем умного дома,это очередная которая быстро позволит Вам установить систему 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

На этом установка завершена.

 

Быстрая установка системы умного дома HomeAssistant

Навигация по записям