Установка видеонаблюдения Insentry на Raspberry Pi 4B с помощью Docker
::: Warning ::: Ниже описана только установка видеонаблюдения. Видеоаналитика устанавливается отдельно. :::
Системные требования
- ОС 64x. Рекомендуемая ОС — Ubuntu 20.04.
- 8 ГБ оперативной памяти на Raspberry. На 4 ГБ Insentry может работать нестабильно.
Установка Ubuntu 20.04 на Raspberry Pi
Для установки на Raspberry Pi Ubuntu 20.04 используйте официальную англоязычную инструкцию или одну из русскоязычных инструкций.
Создание пользователя insentry
Создайте учётную запись insentry с помощью команды
sudo adduser insentry
Имя пользователя указывайте в нижнем регистре.
В появившихся строках укажите и подтвердите пароль.
При необходимости введите дополнительные данные учётной записи.
Дайте пользователю insentry права администратора командой
sudo usermod -aG sudo insentry
Авторизуйтесь заново с данными учётной записи пользователя insentry.
Установка необходимых пакетов
Введите команды:
sudo apt-get install aptitude sudo aptitude install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Добавьте gpg-ключ:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавьте репозиторий Docker:
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Обновите базу данных пакетов информацией о пакетах Docker из добавленного репозитория:
sudo aptitude update sudo aptitude install docker-ce
Дать права пользователю системы на использование Docker:
sudo usermod -aG docker insentry
Запустите docker и включите автозагрузку службы:
sudo systemctl enable docker sudo systemctl start docker
Запуск Docker образа Insentry
Создайте отдельный том для хранения данных:
sudo docker volume create --name insentry-data
Убедитесь, что на хосте свободны порты 80, 554, 9200:
sudo netstat -ln
Запустите Docker. Существует две сборки Insentry:
- Release - для рабочих серверов,
- Snapshot для тестирования новых возможностей.
Обратите внимание — строка запуска изменилась. Появились новые параметры --privileged --cap-add=NET_ADMIN
.
Команда для запуска Docker для Release сборки:
sudo docker run \
\
--name insentry_watch \
--detach \
--restart unless-stopped \
--network host \
--volume insentry-data:/var/lib --cap-add=NET_ADMIN \
--privileged \
--device /dev/net/tun:/dev/net/tun \
--stop-timeout 60 cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/arm64:24.2.20.92
Для Snapshot сборки:
sudo docker run \
\
--name insentry_watch \
--detach \
--restart unless-stopped \
--network host \
--volume insentry-data:/var/lib --cap-add=NET_ADMIN \
--privileged \
--device /dev/net/tun:/dev/net/tun \
--stop-timeout 60 cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/arm64:latest
::: Warning ::: Внимание! Работоспособность Snapshot сборки не гарантирована. Поддержка осуществляется только для Release сборки! :::
Если вы используете отдельный диск для архива, смонтированный в каталог (например, /mnt/video) – подключите к контейнеру два volume:
sudo docker run \ --name insentry_watch \ --detach \ --restart unless-stopped \ --network host \ --volume insentry-data:/var/lib \ --volume /mnt/video:/mnt/video \ --privileged \ --cap-add=NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ --stop-timeout 60 \ cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/arm64:24.2.20.92
Затем настройте доступ для модуля Keep к этому каталогу — он будет доступен из контейнера по тому же пути, что виден в родительской системе – /mnt/video:
Проверье работу контейнера:
sudo docker ps
При правильном выполнении Insentry Watch будет доступен по адресу хоста, порт 9200.