16bef455ae
Features: - Multi-arch support (aarch64, amd64, armv7) - WebUI integration with Home Assistant - Ingress support for seamless integration - Automated builds via GitHub Actions - Comprehensive documentation (EN/RU) - Health check monitoring - Configurable through HA UI
311 lines
11 KiB
Markdown
311 lines
11 KiB
Markdown
# 🎉 Home Assistant Add-on для Strix - Готов!
|
||
|
||
## ✅ Что сделано
|
||
|
||
Создан полностью функциональный Home Assistant Add-on с автоматизацией через GitHub Actions.
|
||
|
||
### 📦 Созданные файлы
|
||
|
||
```
|
||
homeassistant-addon/
|
||
├── config.yaml # HA конфигурация аддона
|
||
├── Dockerfile # Multi-arch Docker сборка
|
||
├── build.yaml # Настройки сборки (aarch64/amd64/armv7)
|
||
├── run.sh # Стартовый скрипт с интеграцией HA
|
||
├── README.md # Документация для пользователей (EN)
|
||
├── README-RU.md # Документация для пользователей (RU)
|
||
├── DOCS.md # Подробная инструкция по использованию
|
||
├── CHANGELOG.md # История изменений
|
||
├── INSTALLATION.md # Гайд по установке и публикации
|
||
├── icon.png.todo # Заметка - нужна иконка 128x128px
|
||
└── logo.png.todo # Заметка - нужен логотип 256x256px
|
||
|
||
.github/workflows/
|
||
└── addon.yml # GitHub Actions для автосборки
|
||
|
||
repository.yaml # Файл репозитория для HA
|
||
|
||
README.md (обновлен) # Добавлена секция про HA Add-on
|
||
```
|
||
|
||
## 🚀 Как это работает
|
||
|
||
### Автоматизация через GitHub Actions
|
||
|
||
При пуше в `main` или создании тега `v*`:
|
||
|
||
1. **Сборка для каждой архитектуры** (aarch64, amd64, armv7):
|
||
- Компиляция Go бинарника
|
||
- Копирование data и webui
|
||
- Создание Docker образа
|
||
- Публикация в GitHub Container Registry (ghcr.io)
|
||
|
||
2. **Обновление репозитория**:
|
||
- Автоматическое обновление версии в config.yaml
|
||
- Обновление repository.yaml
|
||
- Коммит изменений (только для тегов)
|
||
|
||
### Docker образы
|
||
|
||
Публикуются автоматически:
|
||
- `ghcr.io/eduard256/strix-addon-aarch64:latest`
|
||
- `ghcr.io/eduard256/strix-addon-amd64:latest`
|
||
- `ghcr.io/eduard256/strix-addon-armv7:latest`
|
||
|
||
С версионированием:
|
||
- `ghcr.io/eduard256/strix-addon-aarch64:1.0.0`
|
||
- и т.д.
|
||
|
||
## 🎯 Что дальше
|
||
|
||
### 1. Добавить иконки (опционально, но рекомендуется)
|
||
|
||
```bash
|
||
# Создать или добавить:
|
||
homeassistant-addon/icon.png # 128x128px
|
||
homeassistant-addon/logo.png # 256x256px
|
||
|
||
# Стиль: сова или камера, синий/белый (Home Assistant theme)
|
||
```
|
||
|
||
### 2. Первый релиз
|
||
|
||
```bash
|
||
# Закоммитить все изменения
|
||
git add .
|
||
git commit -m "Add Home Assistant Add-on v1.0.0"
|
||
git push origin main
|
||
|
||
# Создать тег релиза
|
||
git tag v1.0.0
|
||
git push origin v1.0.0
|
||
```
|
||
|
||
### 3. Дождаться сборки
|
||
|
||
GitHub Actions автоматически:
|
||
- Соберет все архитектуры
|
||
- Создаст Docker образы
|
||
- Опубликует в ghcr.io
|
||
|
||
Проверить статус: https://github.com/eduard256/Strix/actions
|
||
|
||
### 4. Установить в Home Assistant
|
||
|
||
#### Для пользователей:
|
||
|
||
1. **Supervisor** → **Add-on Store** → **⋮** (меню) → **Repositories**
|
||
2. Добавить репозиторий: `https://github.com/eduard256/Strix`
|
||
3. Найти **Strix Camera Discovery** в списке аддонов
|
||
4. Нажать **Install**
|
||
5. Настроить (если нужно)
|
||
6. Нажать **Start**
|
||
7. Нажать **Open Web UI**
|
||
|
||
## 🎨 Особенности реализации
|
||
|
||
### 1. Максимальное использование существующей инфраструктуры
|
||
|
||
- ✅ Использует существующий Dockerfile как основу
|
||
- ✅ Переиспользует Docker workflow
|
||
- ✅ Встраивается в существующий CI/CD пайплайн
|
||
- ✅ Не требует дублирования кода
|
||
|
||
### 2. Автоматизация
|
||
|
||
- ✅ Автоматическая сборка при пуше/теге
|
||
- ✅ Multi-arch сборка (3 архитектуры параллельно)
|
||
- ✅ Автоматическая публикация образов
|
||
- ✅ Автоматическое обновление версий
|
||
|
||
### 3. Интеграция с Home Assistant
|
||
|
||
- ✅ Ingress поддержка (встроенный iframe)
|
||
- ✅ Иконка в боковой панели
|
||
- ✅ Настройка через HA UI
|
||
- ✅ Логирование в HA
|
||
- ✅ Health check мониторинг
|
||
- ✅ Auto-start при загрузке
|
||
|
||
### 4. Безопасность
|
||
|
||
- ✅ Non-root пользователь (UID 1000)
|
||
- ✅ Минимальный Alpine образ
|
||
- ✅ Credentials не сохраняются
|
||
- ✅ Работа только в локальной сети
|
||
- ✅ Health check для мониторинга
|
||
|
||
## ⚙️ Конфигурация для пользователей
|
||
|
||
```yaml
|
||
log_level: info # debug, info, warn, error
|
||
port: 4567 # Порт веб-интерфейса (default: 4567)
|
||
strict_validation: true # Строгая валидация потоков
|
||
```
|
||
|
||
## 📊 Возможности аддона
|
||
|
||
- 🔍 **3,600+ камер** в базе данных
|
||
- 🌐 **ONVIF discovery** - автопоиск камер
|
||
- ⚡ **Real-time SSE** - живые обновления
|
||
- 🎨 **WebUI** - красивый интерфейс
|
||
- 🔌 **RESTful API** - для автоматизации
|
||
- 🚀 **Fast concurrent testing** - параллельная проверка
|
||
- 📦 **All-in-one** - всё включено
|
||
|
||
## 🔄 Обновления
|
||
|
||
### Разработка (dev builds)
|
||
|
||
```bash
|
||
git add .
|
||
git commit -m "feat: new feature"
|
||
git push origin main
|
||
```
|
||
|
||
Создаст dev-сборку с тегом `dev-<git-hash>`.
|
||
|
||
### Релизы (production)
|
||
|
||
```bash
|
||
# 1. Обновить версию
|
||
sed -i 's/^version:.*/version: "1.1.0"/' homeassistant-addon/config.yaml
|
||
|
||
# 2. Обновить CHANGELOG.md
|
||
nano homeassistant-addon/CHANGELOG.md
|
||
|
||
# 3. Закоммитить и создать тег
|
||
git add .
|
||
git commit -m "release: v1.1.0"
|
||
git tag v1.1.0
|
||
git push origin main v1.1.0
|
||
```
|
||
|
||
Создаст релиз-сборку с тегом `1.1.0`.
|
||
|
||
## 📚 Документация
|
||
|
||
| Файл | Описание |
|
||
|------|----------|
|
||
| `README.md` | Краткое описание для пользователей (EN) |
|
||
| `README-RU.md` | Краткое описание для пользователей (RU) |
|
||
| `DOCS.md` | Полная документация по использованию |
|
||
| `CHANGELOG.md` | История версий и изменений |
|
||
| `INSTALLATION.md` | Инструкция для разработчиков/публикации |
|
||
|
||
## 🐛 Troubleshooting
|
||
|
||
### Сборка не прошла
|
||
|
||
1. Проверить GitHub Actions: https://github.com/eduard256/Strix/actions
|
||
2. Проверить логи ошибок
|
||
3. Частые проблемы:
|
||
- Ошибки компиляции Go → исправить в коде
|
||
- Ошибки Docker → проверить Dockerfile
|
||
- Права доступа → проверить GITHUB_TOKEN permissions
|
||
|
||
### Аддон не устанавливается
|
||
|
||
1. Проверить repository.yaml в корне репозитория
|
||
2. Убедиться что config.yaml валиден (YAML syntax)
|
||
3. Проверить что Docker образы опубликованы в ghcr.io
|
||
4. Проверить что URL репозитория правильный
|
||
|
||
### Аддон не запускается
|
||
|
||
1. Открыть логи в HA: **Addon page** → **Log** tab
|
||
2. Частые проблемы:
|
||
- Порт 4567 занят → изменить port в настройках
|
||
- Отсутствуют файлы data → проверить сборку
|
||
- Permission denied → проверить права в Dockerfile
|
||
|
||
## ✅ Чеклист перед первым релизом
|
||
|
||
- [x] Создана структура аддона
|
||
- [x] Настроен Dockerfile
|
||
- [x] Настроен GitHub Actions workflow
|
||
- [x] Создана документация (EN)
|
||
- [x] Создана документация (RU)
|
||
- [x] Обновлен основной README
|
||
- [x] Создан repository.yaml
|
||
- [ ] Добавлены иконки (icon.png, logo.png)
|
||
- [ ] Протестирована локальная сборка
|
||
- [ ] Создан git tag v1.0.0
|
||
- [ ] Проверена публикация в ghcr.io
|
||
- [ ] Протестирована установка в HA
|
||
|
||
## 🎁 Дополнительные возможности (будущее)
|
||
|
||
Можно добавить в будущих версиях:
|
||
|
||
- ✨ Автоматическое добавление камер как entities в HA
|
||
- 🔧 Генератор конфигов для go2rtc
|
||
- 📹 Генератор конфигов для Frigate
|
||
- 🔔 ONVIF события и уведомления
|
||
- 📸 Галерея снимков камер
|
||
- 🔍 Сетевой сканер для массового поиска
|
||
|
||
## 🤝 Распространение
|
||
|
||
### Вариант 1: Кастомный репозиторий (рекомендуется)
|
||
|
||
Пользователи добавляют репозиторий вручную.
|
||
|
||
**Преимущества:**
|
||
- Полный контроль
|
||
- Быстрые обновления
|
||
- Нет процесса одобрения
|
||
|
||
**Недостатки:**
|
||
- Нужно добавлять вручную
|
||
- Не в официальном store
|
||
|
||
### Вариант 2: Home Assistant Community Add-ons
|
||
|
||
Подать заявку в официальный репозиторий:
|
||
https://github.com/home-assistant/addons
|
||
|
||
**Преимущества:**
|
||
- Официальное признание
|
||
- Легче найти пользователям
|
||
- Автообновления
|
||
|
||
**Недостатки:**
|
||
- Строгие требования
|
||
- Процесс ревью
|
||
- Медленные обновления
|
||
|
||
## 🎉 Готово к использованию!
|
||
|
||
Всё готово для первого релиза. После добавления иконок и создания тега v1.0.0, аддон будет полностью готов к работе.
|
||
|
||
### Команды для быстрого старта:
|
||
|
||
```bash
|
||
# 1. Добавить иконки (опционально)
|
||
# Поместить icon.png и logo.png в homeassistant-addon/
|
||
|
||
# 2. Закоммитить
|
||
git add .
|
||
git commit -m "Add Home Assistant Add-on v1.0.0"
|
||
git push origin main
|
||
|
||
# 3. Создать релиз
|
||
git tag v1.0.0
|
||
git push origin v1.0.0
|
||
|
||
# 4. Дождаться окончания GitHub Actions
|
||
# https://github.com/eduard256/Strix/actions
|
||
|
||
# 5. Установить в Home Assistant
|
||
# Добавить репозиторий: https://github.com/eduard256/Strix
|
||
```
|
||
|
||
---
|
||
|
||
**Поделиться с сообществом:**
|
||
- 💬 Home Assistant Community Forum
|
||
- 🔴 Reddit r/homeassistant
|
||
- 💭 GitHub Discussions
|
||
- 💬 Discord серверы
|