Skip to content

Подготовка к развёртыванию

Перед развёртыванием NRunner необходимо подготовить сервер, Docker-инфраструктуру и поставочный архив nrunner-deploy.

Обязательные компоненты

На целевом сервере должны быть установлены:

  • Docker Engine;
  • Docker Compose v2, доступный через команду docker compose;
  • systemd для автозапуска сервиса docker.

Пользователь, выполняющий установку, должен иметь права на управление Docker. В production-среде рекомендуется выполнять установку от отдельной административной учётной записи с контролируемым доступом к env-файлам.

Состав поставочного архива

Загрузите и распакуйте поставочный архив:

bash
curl -fLO https://download.nrunner.ru/releases/nrunner/nrunner-deploy/v1/v1.0.1/dist/nrunner-deploy-v1.0.1.zip

Альтернативная команда загрузки:

bash
wget https://download.nrunner.ru/releases/nrunner/nrunner-deploy/v1/v1.0.1/dist/nrunner-deploy-v1.0.1.zip

Состав архива:

ПутьНазначение
scripts/nrunnerctlCLI-утилита для развёртывания, остановки, удаления и проверки состояния контуров
compose/mainФайлы основного контура: клиент, сервер сканирования, PostgreSQL, Redis и миграции
compose/main/docker-compose.prod.server-client.ymlDocker Compose-файл основного контура
compose/main/env.server.exampleШаблон переменных окружения сервера
compose/main/env.client.exampleШаблон переменных окружения клиента
compose/main/migrationsSQL-миграции основной базы данных
compose/vulndbФайлы локальной базы уязвимостей
compose/vulndb/docker-compose.prod.vulndb.ymlDocker Compose-файл vulnerability-контура
compose/vulndb/env.vulndb.exampleШаблон переменных окружения базы уязвимостей
compose/vulndb/migrationsSQL-миграции базы уязвимостей

Варианты установки

NRunner можно установить двумя способами:

СпособКогда применять
Установка через CLIРекомендуемый способ для типового развёртывания и первичной эксплуатации
Установка через Docker ComposeСпособ для администраторов, которым требуется вручную выполнять и контролировать команды Compose

Используемые сетевые порты

По умолчанию система использует следующие опубликованные порты:

НазначениеПорт по умолчаниюГде настраивается
Web-интерфейс клиента8080NRUNNER_CLIENT_HTTP_PORT в env.client
HTTP API сервера сканирования3002NRUNNER_SERVER_HTTP_PORT в env.server
Порт сервера для агентов50051NRUNNER_SERVER_GRPC_PORT в env.server
Основная PostgreSQL БД5432LOCAL_DB_PUBLISHED_PORT в env.server
Redis6379REDIS_PUBLISHED_PORT в env.server
Порт сервера для агентов4000AGENT_CERT_PORT в env.server
API базы уязвимостей8081VULN_API_HTTP_PORT в env.vulndb
PostgreSQL БД уязвимостей5432VULN_DB_PUBLISHED_PORT в env.vulndb

Целевые дистрибутивы

ОСРекомендуемый способ
Ubuntuофициальный apt-репозиторий Docker
Fedoraофициальный dnf-репозиторий Docker
Astra Linux 1.8.xпакетная установка по Debian-схеме; если репозиторий Docker не подходит для вашей сборки, используйте fallback через static binaries
RED OS 8пакетная установка по RHEL-схеме; если репозиторий Docker не подходит для вашей сборки, используйте fallback через static binaries
ALT Linux c10f2fallback через static binaries и ручную установку Compose plugin

Проверка Docker перед установкой

После установки Docker выполните проверку:

bash
docker --version
docker compose version
sudo systemctl status docker --no-pager
sudo docker run hello-world

Ubuntu

Для Ubuntu рекомендуется использовать официальный apt-репозиторий Docker.

bash
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

Fedora

Для Fedora рекомендуется использовать официальный dnf-репозиторий Docker.

1. Удалите конфликтующие пакеты

bash
sudo dnf remove -y docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine \
  podman \
  runc

2. Подключите репозиторий Docker и установите пакеты

bash
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

Astra Linux 1.8.x

Для Astra Linux 1.8.x используйте пакетную установку, если она доступна в используемой редакции и репозитории.

shell
apt install docker docker-compose-v2

ALT Linux 10

bash
apt-get install docker-engine docker-compose-v2

RED OS 8

bash
dnf install docker-ce docker-ce-cli docker-compose-v2
systemctl enable docker --now

Следующий шаг

После подготовки сервера выберите способ установки:

Документация NRunner