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
262 lines
8.5 KiB
Markdown
262 lines
8.5 KiB
Markdown
# Strix - Home Assistant Add-on
|
|
|
|
## 🎯 Что создано
|
|
|
|
Полностью готовый Home Assistant Add-on для Strix с автоматической сборкой и публикацией.
|
|
|
|
## 📁 Структура
|
|
|
|
```
|
|
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 # Заметка про иконку 128x128
|
|
└── logo.png.todo # Заметка про логотип 256x256
|
|
```
|
|
|
|
## ✨ Возможности
|
|
|
|
- ✅ **Автоматическая сборка** через GitHub Actions
|
|
- ✅ **Multi-arch поддержка**: aarch64, amd64, armv7
|
|
- ✅ **Web UI интеграция** в боковую панель Home Assistant
|
|
- ✅ **Ingress поддержка** для бесшовной интеграции
|
|
- ✅ **Настройка через UI** Home Assistant
|
|
- ✅ **Автообновления** через Supervisor
|
|
- ✅ **Полная документация** на русском и английском
|
|
|
|
## 🚀 Быстрый старт
|
|
|
|
### 1. Завершить подготовку
|
|
|
|
```bash
|
|
# Добавить иконки (опционально, но рекомендуется)
|
|
# - icon.png (128x128px)
|
|
# - logo.png (256x256px)
|
|
|
|
# Закоммитить все изменения
|
|
git add .
|
|
git commit -m "Add Home Assistant Add-on"
|
|
git push origin main
|
|
```
|
|
|
|
### 2. Создать релиз
|
|
|
|
```bash
|
|
# Создать тег версии
|
|
git tag v1.0.0
|
|
git push origin v1.0.0
|
|
```
|
|
|
|
GitHub Actions автоматически:
|
|
- Соберет бинарники для всех архитектур
|
|
- Создаст Docker образы
|
|
- Опубликует в GitHub Container Registry
|
|
|
|
### 3. Установить в Home Assistant
|
|
|
|
1. **Supervisor** → **Add-on Store** → **⋮** → **Repositories**
|
|
2. Добавить: `https://github.com/eduard256/Strix`
|
|
3. Найти **Strix Camera Discovery**
|
|
4. Нажать **Install**
|
|
5. Нажать **Start**
|
|
6. Нажать **Open Web UI**
|
|
|
|
## ⚙️ Конфигурация
|
|
|
|
Пользователи могут настроить через UI Home Assistant:
|
|
|
|
```yaml
|
|
log_level: info # debug, info, warn, error
|
|
port: 4567 # Порт веб-интерфейса
|
|
strict_validation: true # Строгая валидация потоков
|
|
```
|
|
|
|
## 🔄 Обновление
|
|
|
|
### Новые функции/исправления
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "feat: новая функция"
|
|
git push origin main
|
|
```
|
|
|
|
Автоматически создастся dev-сборка.
|
|
|
|
### Новый релиз
|
|
|
|
```bash
|
|
# Обновить версию
|
|
sed -i 's/^version:.*/version: "1.1.0"/' homeassistant-addon/config.yaml
|
|
|
|
# Обновить CHANGELOG.md
|
|
nano homeassistant-addon/CHANGELOG.md
|
|
|
|
# Закоммитить и создать тег
|
|
git add .
|
|
git commit -m "release: v1.1.0"
|
|
git tag v1.1.0
|
|
git push origin main v1.1.0
|
|
```
|
|
|
|
## 🏗️ Как это работает
|
|
|
|
### GitHub Actions Workflow
|
|
|
|
Файл: `.github/workflows/addon.yml`
|
|
|
|
При пуше в `main` или создании тега `v*`:
|
|
|
|
1. **Build Stage** (для каждой архитектуры):
|
|
- Собирает Go бинарник
|
|
- Копирует данные и WebUI
|
|
- Создает Docker образ
|
|
- Публикует в ghcr.io
|
|
|
|
2. **Update Repository**:
|
|
- Обновляет версию в config.yaml
|
|
- Обновляет repository.yaml
|
|
- Коммитит изменения (только для тегов)
|
|
|
|
### Docker Images
|
|
|
|
Публикуются в GitHub Container Registry:
|
|
- `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`
|
|
- и т.д.
|
|
|
|
## 📦 Что включено
|
|
|
|
### Runtime зависимости
|
|
- **ffmpeg** - для валидации RTSP потоков
|
|
- **ca-certificates** - для HTTPS
|
|
- **tzdata** - для корректных временных меток
|
|
- **wget** - для healthcheck
|
|
|
|
### Данные приложения
|
|
- **База камер** - 3,600+ моделей
|
|
- **WebUI** - встроенный веб-интерфейс
|
|
- **API** - RESTful API для автоматизации
|
|
|
|
## 🔒 Безопасность
|
|
|
|
- Запуск от non-root пользователя (UID 1000)
|
|
- Минимальный Alpine образ
|
|
- Отсутствие хранения credentials
|
|
- Работа только в локальной сети
|
|
|
|
## 📚 Документация
|
|
|
|
- **README.md** - Краткое описание для пользователей
|
|
- **DOCS.md** - Полная документация по использованию
|
|
- **CHANGELOG.md** - История изменений
|
|
- **INSTALLATION.md** - Инструкция для разработчиков
|
|
|
|
## 🎨 TODO (опционально)
|
|
|
|
1. **Иконки**:
|
|
- Создать `icon.png` (128x128px)
|
|
- Создать `logo.png` (256x256px)
|
|
- Стиль: сова или камера, синий/белый (Home Assistant style)
|
|
|
|
2. **Улучшения**:
|
|
- Добавить скриншоты в README.md
|
|
- Создать видео-инструкцию
|
|
- Перевести DOCS.md на русский
|
|
|
|
3. **Интеграции**:
|
|
- Автоматическое добавление камер в HA
|
|
- Генератор конфигов для go2rtc
|
|
- Генератор конфигов для Frigate
|
|
|
|
## 🤝 Публикация
|
|
|
|
### Вариант 1: Кастомный репозиторий (Рекомендуется)
|
|
|
|
Пользователи добавляют вручную:
|
|
```
|
|
https://github.com/eduard256/Strix
|
|
```
|
|
|
|
**Плюсы**:
|
|
- Полный контроль
|
|
- Быстрые обновления
|
|
- Нет процесса одобрения
|
|
|
|
### Вариант 2: Home Assistant Community Add-ons
|
|
|
|
Отправить в официальный репозиторий:
|
|
https://github.com/home-assistant/addons
|
|
|
|
**Плюсы**:
|
|
- Официальное признание
|
|
- Проще найти пользователям
|
|
- Автообновления
|
|
|
|
**Минусы**:
|
|
- Строгие требования
|
|
- Процесс ревью
|
|
- Медленные обновления
|
|
|
|
## 🐛 Решение проблем
|
|
|
|
### Сборка не прошла
|
|
|
|
Проверить GitHub Actions:
|
|
```
|
|
https://github.com/eduard256/Strix/actions
|
|
```
|
|
|
|
### Аддон не устанавливается
|
|
|
|
- Проверить синтаксис config.yaml
|
|
- Убедиться что образы опубликованы в ghcr.io
|
|
- Проверить repository.yaml в корне
|
|
|
|
### Аддон не запускается
|
|
|
|
Смотреть логи в Home Assistant:
|
|
- Страница аддона → вкладка **Log**
|
|
- Частые проблемы:
|
|
- Порт занят
|
|
- Отсутствуют файлы данных
|
|
- Ошибки прав доступа
|
|
|
|
## ✅ Чеклист перед релизом
|
|
|
|
- [ ] Код протестирован
|
|
- [ ] Версия установлена в config.yaml
|
|
- [ ] CHANGELOG.md обновлен
|
|
- [ ] Иконки добавлены (опционально)
|
|
- [ ] README.md проверен
|
|
- [ ] DOCS.md проверен
|
|
- [ ] GitHub Actions протестирован
|
|
- [ ] Создан git тег (v1.0.0)
|
|
- [ ] Docker образы опубликованы
|
|
- [ ] Тестовая установка в Home Assistant
|
|
|
|
## 🎉 Готово!
|
|
|
|
После выполнения чеклиста ваш Home Assistant Add-on готов к использованию!
|
|
|
|
Поделитесь с сообществом:
|
|
- Форум Home Assistant
|
|
- Reddit r/homeassistant
|
|
- GitHub Discussions
|
|
- Discord серверы
|
|
|
|
---
|
|
|
|
**Вопросы?** Создайте Issue на GitHub: https://github.com/eduard256/Strix/issues
|