- docker-compose.yml: homeassistant/home-assistant:stable, bridge, 127.0.0.1:8123, journald - config/ исключён из git (.gitignore) - README + CLAUDE с описанием стека, деплоя, nginx-нюансов
2.0 KiB
2.0 KiB
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(только с самого сервера)