Установка ПО Insentry на Ubuntu Linux с помощью Docker

Создание пользователя insentry

  1. Создайте пользователя insentry с помощью команды sudo adduser insentry

  2. В появившихся строках укажите и подтвердите пароль.

  3. При необходимости введите дополнительные данные учётной записи.

  4. Дайте пользователю insentry права администратора командой sudo usermod -aG sudo insentry

  5. Авторизуйтесь заново с данными учётной записи пользователя insentry.

Установка необходимых пакетов

  1. Введите команды:

    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg lsb-release
  2. Добавьте gpg-ключ:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. Добавьте репозиторий 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
  4. Обновите базу данных пакетов информацией о пакетах Docker из добавленного репозитория:

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  5. Дать права пользователю системы на использование Docker:

    sudo usermod -aG docker insentry
  6. Запустите docker и включите автозагрузку службы:

    sudo systemctl enable docker
    sudo systemctl start docker

Запуск Docker образа Insentry

  1. Создайте отдельный том для хранения данных:

    sudo docker volume create --name insentry-data
  2. Проверьте порты, необходимые для работы Insentry:

    netstat -ln | grep ':3301\|:3291\|:3297\|:3299\|:5540\|:9200\|:7560\|:8008\|:8520\|:8530\|:8535\|:9350\|:8081'
  3. Запустите Docker. Существует две сборки Insentry:

    • Release - для рабочих серверов,
    • Snapshot для тестирования новых возможностей.

Команда для запуска 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 \
--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

Для 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 \
--privileged --cap-add=NET_ADMIN \
--device /dev/net/tun:/dev/net/tun \
--stop-timeout 60 \
cr.yandex/crp5a5q503oamalo3iou/insentry-watch/linux/amd64:latest

::: Warning ::: Внимание! Работоспособность Snapshot сборки не гарантирована. Поддержка осуществляется только для Release сборки! :::

  1. Если вы используете отдельный диск для архива, смонтированный в каталог (например, /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:

  2. Проверьте работу контейнера:

    sudo docker ps

    При правильном выполнении Insentry Watch будет доступен по адресу хоста, порт 9200.