Источники

CLI Установка

В инструкции написано запускать контейнеры с флагом --privileged, однако я этого не делаю.

Уточнить путь к подключенной ESP:

1
ls -l /dev/serial/by-id
1
2
3
4
5
6
7
8
docker run -d \
  --name="esphome" \
  --net=host \
  --device=/dev/ttyUSB0 \
  -v /dconf/esphome/config:/config \
  -e TZ=Europe/Moscow \
  --restart unless-stopped \
esphome/esphome:latest

Если в момент запуска контейнера, по USB не подключена плата ESP, то команда выше не выполняется. Файла /dev/ttyUSB0 не существует. В этом случае, можно запустить контейнер не прокидывая в него устройство:

1
2
3
4
5
6
7
docker run -d \
  --name="esphome_not_usb" \
  --net=host \
  -v /dconf/esphome/config:/config \
  -e TZ=Europe/Moscow \
  --restart unless-stopped \
esphome/esphome:latest

Если в веб морде ESPHome все устройства offline, возможно проблема связана с Multicast DNS.

Удаление

1
2
3
docker stop esphome ;\
docker rm esphome ;\
docker rmi esphome/esphome

Установка средствами Docker-compose

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
---
version: "3"
services:

  esphome:
    image: esphome/esphome:latest
    container_name: esphome
    environment:
      - PUID=1024
      - PGID=1024
      - TZ=Europe/Moscow
    volumes:
      - /dconf/esphome/config:/config
    devices:
      - /dev/ttyUSB0
    network_mode: host
    restart: unless-stopped
1
2
docker compose pull
docker compose up -d