Установка ПО Insentry на Ubuntu Linux с помощью Docker
Создание пользователя insentry
Создайте пользователя insentry с помощью команды
sudo adduser insentry
Имя пользователя указывайте в нижнем регистре.
В появившихся строках укажите и подтвердите пароль.
При необходимости введите дополнительные данные учётной записи.
Дайте пользователю insentry права администратора командой
sudo usermod -aG sudo insentry
Авторизуйтесь заново с данными учётной записи пользователя insentry.
Установка необходимых пакетов
Введите команды:
sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release
Добавьте gpg-ключ:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавьте репозиторий Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновите базу данных пакетов информацией о пакетах Docker из добавленного репозитория:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Дать права пользователю системы на использование Docker:
sudo usermod -aG docker insentry
Запустите docker и включите автозагрузку службы:
sudo systemctl enable docker sudo systemctl start docker
Запуск Docker образа Insentry
Создайте отдельный том для хранения данных:
sudo docker volume create --name insentry-data
Проверьте порты, необходимые для работы Insentry:
netstat -ln | grep ':3301\|:3291\|:3297\|:3299\|:5540\|:9200\|:7560\|:8008\|:8520\|:8530\|:8535\|:9350\|:8081'
Запустите 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 \
--volume /etc/timezone:/etc/timezone:ro \
--volume /etc/localtime:/etc/localtime:ro --cap-add=NET_ADMIN \
--privileged \
--device /dev/net/tun:/dev/net/tun --stop-timeout 60 cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/amd64:24.2.20.92
Для Snapshot сборки:
sudo docker run \
\
--name insentry_watch \
--detach \
--restart unless-stopped \
--network host \
--volume insentry-data:/var/lib \
--volume /etc/timezone:/etc/timezone:ro \
--volume /etc/localtime:/etc/localtime:ro --cap-add=NET_ADMIN \
--privileged \
--device /dev/net/tun:/dev/net/tun \
--stop-timeout 60 cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/amd64: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 \ --volume /etc/timezone:/etc/timezone:ro \ --volume /etc/localtime:/etc/localtime:ro \ --privileged --cap-add=NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ --stop-timeout 60 \ cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/amd64:24.2.20.92
Затем настройте доступ для модуля Keep к этому каталогу — он будет доступен из контейнера по тому же пути, что виден в родительской системе – /mnt/video:
Проверьте работу контейнера:
sudo docker ps
При правильном выполнении Insentry Watch будет доступен по адресу хоста, порт 9200.