Files
home-assistant/CLAUDE.md
striker 19e0d4b1b1 Initial Home Assistant Container deployment
- docker-compose.yml: homeassistant/home-assistant:stable, bridge, 127.0.0.1:8123, journald
- config/ исключён из git (.gitignore)
- README + CLAUDE с описанием стека, деплоя, nginx-нюансов
2026-05-08 04:36:06 +03:00

2.0 KiB
Raw Blame History

CLAUDE.md — home-assistant

Что

Home Assistant Container на str-u-01 (45.10.53.148). UI публикуется через nginx на ha.striker.su.

Стек

  • homeassistant/home-assistant:stable (Docker Hub, обычный Container — не Supervised, без addons)
  • bridge network, 127.0.0.1:8123:8123 (только loopback на сервере)
  • volume bind-mount: ./config:/config (НЕ в git)
  • log-driver: journald (см. memory reference_fail2ban_gitea.md про journald на str-u-01)
  • restart: unless-stopped, healthcheck на /manifest.json

Структура

home-assistant/
├── docker-compose.yml      # сервис ha
├── .gitignore              # исключает config/
├── README.md
└── CLAUDE.md

На сервере: /opt/docker/sites/home-assistant/. Папка config/ создаётся автоматически HA при первом запуске.

Деплой

ssh striker@str-u-01.striker.su
cd /opt/docker/sites/home-assistant
git pull
docker compose pull && docker compose up -d

nginx

vhost: /etc/nginx/conf.d/ha.striker.su на str-u-01 (ssl + reverse-proxy на 127.0.0.1:8123). Обязательно proxy_set_header Upgrade / Connection upgrade для WebSocket — UI ломается без них.

LE-сертификат

DNS-01 через Technitium API (см. memory feedback_acme_technitium_dns01.md). Файлы: /etc/letsencrypt/live/ha.striker.su/fullchain.pem + privkey.pem.

HA конфиг

После первого запуска в config/configuration.yaml добавить:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1

Иначе HA отвергнет соединения от nginx как "untrusted proxy".

Доступы

  • UI: https://ha.striker.su (онбординг при первом входе — создаёт admin)
  • Локально: curl http://127.0.0.1:8123 (только с самого сервера)