Перейти к содержанию

Установка и настройка

Инструкция описывает процесс установки и настройки консоли управления ПроAPI Защита.

Шаг 1. Получение доступа и лицензионного ключа

  • Отправьте запрос на presale@webmonitorx.ru для получения доступа к репозиторию продукта.

Шаг 2. Подключение Docker Registry

  • Выполните команду:

    docker login wmx-public.gitlab.yandexcloud.net:5050
    

  • Введите логин и пароль, полученные на предыдущем шаге.

Шаг 3. Установка базы данных

  • Разверните в вашей инфраструктуре MongoDB с аутентификацией по логину и паролю. Для установки MongoDB: Центр загрузки MongoDB

  • Пример запуска MongoDB в Docker-контейнере (в production окружении запуск может выглядеть иначе):

    docker run -it --rm \  
      --name mongodb \  
      -v ${PWD}/mongo_data:/data/db \  
      -e MONGO_INITDB_ROOT_USERNAME="apifw" \  
      -e MONGO_INITDB_ROOT_PASSWORD="__SECURE_PASSWORD__" \  
      -p 27017:27017 \  
      mongo
    

Шаг 4. Миграции базы данных

Перед первым запуском консоли управления и при её обновлении необходимо выполнить миграцию базы данных. Этот процесс включает создание необходимых таблиц, индексов, представлений (view) и других элементов.

Запуск контейнера для выполнения миграции:

docker pull wmx-public.gitlab.yandexcloud.net:5050/wmx-private/wmx-api-firewall/apifw-db-migrations:latest
docker run -it \  
  --name api-fw-manager-migrations \   
  -e MONGO_URI="mongodb://MONGO_LOGIN:MONGO_PASSWD@$MONGO_ADDR:PORT"  
  wmx-public.gitlab.yandexcloud.net:5050/wmx-private/wmx-api-firewall/apifw-  db-migrations:latest \  
  up

Переменная окружения:

Переменная среды Описание
MONGO_URI Строка подключения к MongoDB

Шаг 5. Установка Консоли управления ПроAPI Защита

  • Разверните Консоль управления ПроAPI Защита, используя docker-образ приложения на сервере в вашей сети.

Запуск контейнера с приложением:

docker pull wmx-public.gitlab.yandexcloud.net:5050/wmx-private/wmx-api-firewall/apifw-manager:latest
docker run -d \  
  --name api-fw-manager \  
    -e MONGO_URI="mongodb://MONGO_LOGIN:MONGO_PASSWD@$MONGO_ADDR:PORT" \  
    -e URL_MANAGER=${URL_MANAGER} \  
    -e LICENSE_KEY=__LICENSE_KEY__ \  
    -p 8081:8081 \  
    -p 8082:8082 \  
    wmx-public.gitlab.yandexcloud.net:5050/wmx-private/wmx-api-firewall/apifw-manager:latest

Минимальный набор переменных окружения для старта:

Переменная среды Описание
MONGO_URI Строка подключения к MongoDB
URL_MANAGER Адрес и порт, на который будут подключаться ноды по gRPC. Схему (http://, https://) указывать не нужно. Порт по-умолчанию 8081.
LICENSE_KEY Лицензионный ключ

Полный набор переменных окружения →

  • Проверьте доступность сервера и откройте необходимые порты для связи с инстансами ПроAPI Защиты. Убедитесь, что открыты следующие порты:

    • Порт 8081 (TCP) для GRPC-соединений с нодами
    • Порт 8082 (TCP) для взаимодействия с WEB UI по HTTP
  • Вы можете запустить контейнер api-fw-manager и контейнер с WEB UI рядом, в одной docker сети: так не потребуется открывать порт 8082 наружу.

    Обратите внимание

    При первом запуске api-fw-manager в лог контейнера будет выведен сгенерированный случайным образом пароль администратора. Сохраните его для дальнейшего использования.

Шаг 6. Развертывание WEB UI

  • Свяжите Web UI с бэкендом Консоли управления ПроAPI Защита, установив значения переменных окружения API_BASE_URL и API_BACKEND_URL.

Запуск контейнера с WEB UI:

docker pull wmx-public.gitlab.yandexcloud.net:5050/wmx-private/api-firewall-manager-ui:latest
docker run -d \  
  --name manager_ui \  
  -e API_BASE_URL=http://apifw.webmonitorx.dev/api/  
  -e API_BACKEND_URL=http://api.apifw.webmonitorx.dev:8082/api/  
  -p 80:80  
  -p 443:443  
  wmx-public.gitlab.yandexcloud.net:5050/wmx-private/wmx-api-firewall/manager-ui:latest

  • После успешного выполнения этих команд контейнер с Web UI будет запущен и доступен по указанным портам. Теперь можно открыть Web UI в браузере, перейдя по адресу http://<IP_адрес_сервера>.

Переменные окружения:

Переменная среды Описание
API_BASE_URL URL, который будет использоваться для формирования запросов к API. Должен соответствовать URL, на котором у вас развернут WEB UI, но с /api на конце
API_BACKEND_URL URL для проксирования запроса от WEB UI на backend. На этот URL встроенный в WEB UI NGINX будет делать proxy_pass

По умолчанию WEB UI работает по http, при необходимости вы можете примонтировать внутрь контейнера свою конфигурацию NGINX и SSL сертификаты.
Пример конфигурационного файла NGINX: compose-example. Используйте его как основу для создания своего собственного конфига.