Skip to content

Ручная установка ​

Ручная установка предназначена для администраторов, которым необходимо самостоятельно управлять Docker Compose. Рекомендуемый способ для обычной установки и обновления — install.sh.

Ниже описан запуск основного контура NRunner. Развёртывание production VulnDB в эту инструкцию не входит.

Подготовка ​

Установите Docker Engine 24.0.0+ и Docker Compose 2.20.0+, затем распакуйте комплект поставки и перейдите в его корень.

Создайте рабочие файлы конфигурации:

bash
cp config/server.env.example config/server.env
cp config/client.env.example config/client.env
chmod 600 config/server.env config/client.env

Настройка ​

В config/server.env укажите адрес сервера и замените пустые или тестовые секреты уникальными значениями:

  • SERVER_PUBLIC_HOST;
  • JWT_SECRET;
  • CREDENTIALS_MASTER_KEY;
  • LOCAL_DB_PASSWORD;
  • REDIS_PASSWORD;
  • REPORT_RENDERER_TOKEN.

Случайное значение можно создать командой openssl rand -hex 32. Значение REPORT_EXPORT_RENDERER_TOKEN должно совпадать с REPORT_RENDERER_TOKEN.

Для адреса nrunner.example.com также задайте:

dotenv
SERVER_PUBLIC_HOST=nrunner.example.com
AGENT_DEPLOYMENT_SERVER_HOST=nrunner.example.com
AGENT_DEPLOYMENT_CERT_PORT=4000
AGENT_DEPLOYMENT_SERVER_GRPC=nrunner.example.com:50051

В config/client.env укажите адрес backend:

dotenv
NRUNNER_CLIENT_HTTP_PORT=8080
API_BASE_URL=http://nrunner.example.com:3002

При использовании других портов измените соответствующие значения. Параметры доступа к сервису данных об уязвимостях задаются в config/server.env согласно условиям поставки.

Проверка и запуск ​

Проверьте итоговую конфигурацию:

bash
docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml config --quiet

Загрузите образы и запустите систему:

bash
docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml pull

docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml up -d

Проверка результата ​

bash
docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml ps

curl -fsS http://127.0.0.1:3002/api/v1/liveness
curl -fsS http://127.0.0.1:8080/

Если были выбраны другие порты, используйте их фактические значения.

Журналы и остановка ​

Посмотреть журналы backend:

bash
docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml logs --tail=100 nrunner-server

Остановить контейнеры без удаления данных:

bash
docker compose \
  --project-directory . \
  --env-file release.env \
  --env-file config/server.env \
  --env-file config/client.env \
  -f compose/nrunner.yml down

WARNING

Не добавляйте --volumes к команде down: этот параметр удаляет данные PostgreSQL, Redis, серверные файлы, сертификаты и журналы.

При ручной установке системный сервис обновления не настраивается. Обновления необходимо выполнять вручную либо перейти на штатную установку через install.sh.

Логотип ЛЕГИОНЛЕГИОН