Настройка Cloudflare и Home Assistant
Часть шагов выполняет администратор сервиса один раз (шаги 1–3), часть — каждый пользователь у себя дома (шаги 4–6).
Для администратора сервиса
- Шаг 1
Добавьте домен в Cloudflare
Зарегистрируйтесь на
dash.cloudflare.com, нажмите Add a domain, введите свой домен и выберите тариф Free.Cloudflare покажет два NS-сервера (например
ana.ns.cloudflare.com). Зайдите к своему регистратору домена и замените там NS-серверы на выданные. Проверка занимает от нескольких минут до суток — статус зоны должен стать Active. - Шаг 2
Скопируйте Account ID и Zone ID
Откройте свой домен в панели Cloudflare, прокрутите правую колонку вниз до блока API. Там указаны Zone ID и Account ID. Скопируйте оба.
- Шаг 3
Создайте API-токен
Профиль (правый верхний угол) → My Profile → API Tokens → Create Token → Create Custom Token.
Выдайте ровно эти права:
Account→Cloudflare Tunnel→EditZone→DNS→Edit
В Account Resources выберите свой аккаунт, в Zone Resources — свой домен. Создайте токен и сразу скопируйте его — он показывается один раз.
Затем сохраните в настройках сервиса четыре значения:
CF_API_TOKEN,CF_ACCOUNT_ID,CF_ZONE_ID,CF_ROOT_DOMAIN(сам домен, напримерexample.com).
Для пользователя
- Шаг 4
Получите адрес и токен
Войдите в аккаунт, откройте Моё подключение, выберите имя поддомена и нажмите Создать подключение. Сервис сам создаст туннель и DNS-запись и покажет токен — скопируйте его.
- Шаг 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 ВАШ_ТОКЕН. - Шаг 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.