Настройка Cloudflare и Home Assistant

Часть шагов выполняет администратор сервиса один раз (шаги 1–3), часть — каждый пользователь у себя дома (шаги 4–6).

Для администратора сервиса

  1. Шаг 1

    Добавьте домен в Cloudflare

    Зарегистрируйтесь на dash.cloudflare.com, нажмите Add a domain, введите свой домен и выберите тариф Free.

    Cloudflare покажет два NS-сервера (например ana.ns.cloudflare.com). Зайдите к своему регистратору домена и замените там NS-серверы на выданные. Проверка занимает от нескольких минут до суток — статус зоны должен стать Active.

  2. Шаг 2

    Скопируйте Account ID и Zone ID

    Откройте свой домен в панели Cloudflare, прокрутите правую колонку вниз до блока API. Там указаны Zone ID и Account ID. Скопируйте оба.

  3. Шаг 3

    Создайте API-токен

    Профиль (правый верхний угол) → My Profile → API Tokens → Create Token → Create Custom Token.

    Выдайте ровно эти права:

    • Account → Cloudflare Tunnel → Edit
    • Zone → DNS → Edit

    В Account Resources выберите свой аккаунт, в Zone Resources — свой домен. Создайте токен и сразу скопируйте его — он показывается один раз.

    Затем сохраните в настройках сервиса четыре значения: CF_API_TOKEN, CF_ACCOUNT_ID, CF_ZONE_ID, CF_ROOT_DOMAIN (сам домен, например example.com).

Для пользователя

  1. Шаг 4

    Получите адрес и токен

    Войдите в аккаунт, откройте Моё подключение, выберите имя поддомена и нажмите Создать подключение. Сервис сам создаст туннель и DNS-запись и покажет токен — скопируйте его.

  2. Шаг 5

    Установите аддон Cloudflared в Home Assistant

    В Home Assistant: Settings → Add-ons → Add-on Store → меню (три точки) → Repositories → добавьте https://github.com/brenner-tobias/ha-addons.

    Установите аддон Cloudflared. В его настройках включите режим внешнего токена и вставьте выданный токен в поле tunnel_token, затем запустите аддон.

    Если Home Assistant установлен не как OS/Supervised, поставьте cloudflared вручную и запустите: cloudflared tunnel run --token ВАШ_ТОКЕН.

  3. Шаг 6

    Разрешите обратный прокси в configuration.yaml

    Если по вашему адресу открывается 400: Bad Request — не выполнен именно этот шаг. Добавьте в файл configuration.yaml (если блок http: уже есть — дополните его, второй не создавайте):

    http:
      use_x_forwarded_for: true
      trusted_proxies:
        - 172.30.32.0/23
        - 172.16.0.0/12
        - 127.0.0.1
        - ::1

    Затем Настройки → Система → Перезапустить Home Assistant (полный перезапуск, а не только перезапуск аддона). Перезапуска одного аддона Cloudflared недостаточно.

    После этого откройте свой адрес в браузере или впишите его в поле Сервер в мобильном приложении Home Assistant.