# 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
