Запуск Home Assistant Core с помощью Docker-Compose через обратный прокси Traefik

Для запуска Home Assistant через Traefik с помощью Docker-Compose, начнем с подготовки необходимых файлов и конфигурации.

Создайте директорию для Home Assistant и перейдите в нее:

mkdir homeassistant
cd homeassistant
touch docker-compose.yml

Создайте файл docker-compose.yml, чтобы описать контейнеры и сетевые настройки:

version: '3'

services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - ./config:/config/
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    restart: unless-stopped
    privileged: true
    labels:
      - traefik.enable=true
      - traefik.http.middlewares.homeassistant_https.redirectscheme.scheme=https
      - traefik.http.routers.homeassistant.entrypoints=web
      - traefik.http.routers.homeassistant.middlewares=homeassistant_https@docker
      - traefik.http.routers.homeassistant.rule=Host(`homeassistant.yourdomaine`)
      - traefik.http.routers.homeassistant_https.entrypoints=websecure
      - traefik.http.routers.homeassistant_https.rule=Host(`homeassistant.yourdomaine`)
      - traefik.http.routers.homeassistant_https.tls=true
      - traefik.http.routers.homeassistant_https.tls.certresolver=le
      - traefik.http.services.homeassistant.loadbalancer.server.port=8123

networks:
  default:
    external:
      name: traefik_network

⚠️ Примечание: Замените yourdomaine на ваш реальный домен, который будет использоваться для доступа к Home Assistant.

Описание конфигурации

  • volumes: Указывает, где хранятся данные Home Assistant. Основная конфигурация хранится в папке /config.
  • labels: Настройки, необходимые для интеграции с Traefik, включая домен, точки входа, редирект с HTTP на HTTPS, и SSL-сертификат, который Traefik будет автоматически обновлять.
  • networks: Подключает контейнер к сети traefik_network, которая управляется Traefik.

Настройка Home Assistant

Создайте файл конфигурации configuration.yaml в папке config и добавьте настройки для доверенных прокси-серверов и узлов:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1
    - xxx.xxx.xxx.xxx  # IP-адрес вашего сервера
    - xxx.xxx.xxx.xxx/xx  # Подсеть для прокси Traefik

Примечание: Замените xxx.xxx.xxx.xxx на IP-адрес вашего сервера, чтобы разрешить запросы от доверенных прокси и обеспечить безопасную работу Home Assistant через Traefik.

Запуск контейнеров

Для запуска Home Assistant выполните команду:

docker-compose up -d

После успешного запуска Home Assistant будет доступен по адресу https://homeassistant.yourdomaine.

Теперь ваш Home Assistant работает через обратный прокси Traefik, обеспечивая безопасное HTTPS-соединение и автоматическое обновление SSL-сертификатов для вашего домена.