Подготовка к развёртыванию
Перед развёртыванием NRunner необходимо подготовить сервер, Docker-инфраструктуру и поставочный архив nrunner-deploy.
Обязательные компоненты
На целевом сервере должны быть установлены:
Docker Engine;Docker Composev2, доступный через командуdocker compose;systemdдля автозапуска сервисаdocker.
Пользователь, выполняющий установку, должен иметь права на управление Docker. В production-среде рекомендуется выполнять установку от отдельной административной учётной записи с контролируемым доступом к env-файлам.
Состав поставочного архива
Загрузите и распакуйте поставочный архив:
curl -fLO https://download.nrunner.ru/releases/nrunner/nrunner-deploy/v1/v1.0.1/dist/nrunner-deploy-v1.0.1.zipАльтернативная команда загрузки:
wget https://download.nrunner.ru/releases/nrunner/nrunner-deploy/v1/v1.0.1/dist/nrunner-deploy-v1.0.1.zipСостав архива:
| Путь | Назначение |
|---|---|
scripts/nrunnerctl | CLI-утилита для развёртывания, остановки, удаления и проверки состояния контуров |
compose/main | Файлы основного контура: клиент, сервер сканирования, PostgreSQL, Redis и миграции |
compose/main/docker-compose.prod.server-client.yml | Docker Compose-файл основного контура |
compose/main/env.server.example | Шаблон переменных окружения сервера |
compose/main/env.client.example | Шаблон переменных окружения клиента |
compose/main/migrations | SQL-миграции основной базы данных |
compose/vulndb | Файлы локальной базы уязвимостей |
compose/vulndb/docker-compose.prod.vulndb.yml | Docker Compose-файл vulnerability-контура |
compose/vulndb/env.vulndb.example | Шаблон переменных окружения базы уязвимостей |
compose/vulndb/migrations | SQL-миграции базы уязвимостей |
Варианты установки
NRunner можно установить двумя способами:
| Способ | Когда применять |
|---|---|
| Установка через CLI | Рекомендуемый способ для типового развёртывания и первичной эксплуатации |
| Установка через Docker Compose | Способ для администраторов, которым требуется вручную выполнять и контролировать команды Compose |
Используемые сетевые порты
По умолчанию система использует следующие опубликованные порты:
| Назначение | Порт по умолчанию | Где настраивается |
|---|---|---|
| Web-интерфейс клиента | 8080 | NRUNNER_CLIENT_HTTP_PORT в env.client |
| HTTP API сервера сканирования | 3002 | NRUNNER_SERVER_HTTP_PORT в env.server |
| Порт сервера для агентов | 50051 | NRUNNER_SERVER_GRPC_PORT в env.server |
| Основная PostgreSQL БД | 5432 | LOCAL_DB_PUBLISHED_PORT в env.server |
| Redis | 6379 | REDIS_PUBLISHED_PORT в env.server |
| Порт сервера для агентов | 4000 | AGENT_CERT_PORT в env.server |
| API базы уязвимостей | 8081 | VULN_API_HTTP_PORT в env.vulndb |
| PostgreSQL БД уязвимостей | 5432 | VULN_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 c10f2 | fallback через static binaries и ручную установку Compose plugin |
Проверка Docker перед установкой
После установки Docker выполните проверку:
docker --version
docker compose version
sudo systemctl status docker --no-pager
sudo docker run hello-worldUbuntu
Для Ubuntu рекомендуется использовать официальный apt-репозиторий Docker.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now dockerFedora
Для Fedora рекомендуется использовать официальный dnf-репозиторий Docker.
1. Удалите конфликтующие пакеты
sudo dnf remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runc2. Подключите репозиторий Docker и установите пакеты
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 dockerAstra Linux 1.8.x
Для Astra Linux 1.8.x используйте пакетную установку, если она доступна в используемой редакции и репозитории.
apt install docker docker-compose-v2ALT Linux 10
apt-get install docker-engine docker-compose-v2RED OS 8
dnf install docker-ce docker-ce-cli docker-compose-v2
systemctl enable docker --nowСледующий шаг
После подготовки сервера выберите способ установки: