Ручная установка
Ручная установка предназначена для администраторов, которым необходимо самостоятельно управлять Docker Compose. Рекомендуемый способ для обычной установки и обновления — install.sh.
Ниже описан запуск основного контура NRunner. Развёртывание production VulnDB в эту инструкцию не входит.
Подготовка
Установите Docker Engine 24.0.0+ и Docker Compose 2.20.0+, затем распакуйте комплект поставки и перейдите в его корень.
Создайте рабочие файлы конфигурации:
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 также задайте:
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:
NRUNNER_CLIENT_HTTP_PORT=8080
API_BASE_URL=http://nrunner.example.com:3002При использовании других портов измените соответствующие значения. Параметры доступа к сервису данных об уязвимостях задаются в config/server.env согласно условиям поставки.
Проверка и запуск
Проверьте итоговую конфигурацию:
docker compose \
--project-directory . \
--env-file release.env \
--env-file config/server.env \
--env-file config/client.env \
-f compose/nrunner.yml config --quietЗагрузите образы и запустите систему:
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Проверка результата
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:
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Остановить контейнеры без удаления данных:
docker compose \
--project-directory . \
--env-file release.env \
--env-file config/server.env \
--env-file config/client.env \
-f compose/nrunner.yml downWARNING
Не добавляйте --volumes к команде down: этот параметр удаляет данные PostgreSQL, Redis, серверные файлы, сертификаты и журналы.
При ручной установке системный сервис обновления не настраивается. Обновления необходимо выполнять вручную либо перейти на штатную установку через install.sh.