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
11 KiB
🎉 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*:
-
Сборка для каждой архитектуры (aarch64, amd64, armv7):
- Компиляция Go бинарника
- Копирование data и webui
- Создание Docker образа
- Публикация в GitHub Container Registry (ghcr.io)
-
Обновление репозитория:
- Автоматическое обновление версии в config.yaml
- Обновление repository.yaml
- Коммит изменений (только для тегов)
Docker образы
Публикуются автоматически:
ghcr.io/eduard256/strix-addon-aarch64:latestghcr.io/eduard256/strix-addon-amd64:latestghcr.io/eduard256/strix-addon-armv7:latest
С версионированием:
ghcr.io/eduard256/strix-addon-aarch64:1.0.0- и т.д.
🎯 Что дальше
1. Добавить иконки (опционально, но рекомендуется)
# Создать или добавить:
homeassistant-addon/icon.png # 128x128px
homeassistant-addon/logo.png # 256x256px
# Стиль: сова или камера, синий/белый (Home Assistant theme)
2. Первый релиз
# Закоммитить все изменения
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
Для пользователей:
- Supervisor → Add-on Store → ⋮ (меню) → Repositories
- Добавить репозиторий:
https://github.com/eduard256/Strix - Найти Strix Camera Discovery в списке аддонов
- Нажать Install
- Настроить (если нужно)
- Нажать Start
- Нажать 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 для мониторинга
⚙️ Конфигурация для пользователей
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)
git add .
git commit -m "feat: new feature"
git push origin main
Создаст dev-сборку с тегом dev-<git-hash>.
Релизы (production)
# 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
Сборка не прошла
- Проверить GitHub Actions: https://github.com/eduard256/Strix/actions
- Проверить логи ошибок
- Частые проблемы:
- Ошибки компиляции Go → исправить в коде
- Ошибки Docker → проверить Dockerfile
- Права доступа → проверить GITHUB_TOKEN permissions
Аддон не устанавливается
- Проверить repository.yaml в корне репозитория
- Убедиться что config.yaml валиден (YAML syntax)
- Проверить что Docker образы опубликованы в ghcr.io
- Проверить что URL репозитория правильный
Аддон не запускается
- Открыть логи в HA: Addon page → Log tab
- Частые проблемы:
- Порт 4567 занят → изменить port в настройках
- Отсутствуют файлы data → проверить сборку
- Permission denied → проверить права в Dockerfile
✅ Чеклист перед первым релизом
- Создана структура аддона
- Настроен Dockerfile
- Настроен GitHub Actions workflow
- Создана документация (EN)
- Создана документация (RU)
- Обновлен основной README
- Создан 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, аддон будет полностью готов к работе.
Команды для быстрого старта:
# 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 серверы