Установка
Система "Графиня" разворачивается в docker-контейнерах при помощи плагина docker compose. В качестве СУБД используется MongoDB. Для скачивания docker-образов компонентов Графини необходимо воспользоваться учетной записью в репозитории Лаборатории Числитель.
После установки веб-интерфейс будет доступен по адресу http://ip , где ip – адрес сервера, на котором установлена "Графиня".
Данные для авторизации в веб-интерфейсе "Графини" по умолчанию: Логин: admin / Пароль: 123456
Предварительные требования
-
Установленный Docker и Docker Compose на вашей системе
-
Доступ к приватному реестру образов registry.pult.chislitellab.ru:8123
-
Пользователь с правами на скачивание образов из реестра
Шаг 1: Подготовка окружения
-
Создайте рабочую директорию для проекта:
mkdir grafinya && cd grafinya -
Создайте файл
docker-compose.ymlс приведенным ниже содержимымservices:mongo:image: registry.pult.chislitellab.ru:8123/portal/database-app:mainenv_file: .env_mongorestart: unless-stoppedports:- "27017:27017"volumes:- mongo-data:/data/dbnetworks:- grafinyafrontend:image: registry.pult.chislitellab.ru:8123/portal/frontend-app:mainrestart: unless-stoppedenv_file: .env_frontendports:- "80:80"networks:- grafinyabackend:image: registry.pult.chislitellab.ru:8123/portal/backend-app:mainrestart: unless-stoppedports:- "5000:5000"env_file: .env_backenddepends_on:- mongonetworks:- grafinyaprometheus-plugin:image: registry.pult.chislitellab.ru:8123/portal/plugins/prometheus:mainrestart: unless-stoppedports:- "8080:8080"networks:- grafinyapult-plugin:image: registry.pult.chislitellab.ru:8123/portal/plugins/pult:mainrestart: unless-stoppedports:- "8081:8080"networks:- grafinyacsv-plugin:image: registry.pult.chislitellab.ru:8123/portal/plugins/csv-plugin:mainrestart: unless-stoppedports:- "8082:8080"networks:- grafinyapostgres-plugin:image: registry.pult.chislitellab.ru:8123/portal/plugins/postgres-plugin:mainrestart: unless-stoppedports:- "8083:8080"networks:- grafinyavolumes:mongo-data:networks:grafinya:driver: bridge -
Создайте необходимые
.envфайлы:
MONGO_INITDB_ROOT_USERNAME=<DB_LOGIN>
MONGO_INITDB_ROOT_PASSWORD=<DB_PASSWORD>
MONGO_INITDB_DATABASE=grafinya
Обязательно введите свои DB_LOGIN и DB_PASSWORD, иначе система не запустится корректно. Ниже пример заполнения:
MONGO_INITDB_ROOT_USERNAME= admin
MONGO_INITDB_ROOT_PASSWORD= 123456
MONGO_URI=mongodb://<DB_LOGIN>:<DB_PASSWORD>@mongo:27017/grafinya?authSource=admin
PORT=5000
JWT_SECRET=TEST
ALLOWED_ORIGIN=*
EXPIRES_TOKEN=24h
JWT_REFRESH_SECRET=RTEST
EXPIRES_REFRESH_TOKEN=7d
Обязательно замените DB_LOGIN и DB_PASSWORD на свои реальные логин и пароль.
Если оставить примерные значения — подключение к базе не сработает. Ниже пример заполнения:
MONGO_URI=mongodb://admin:123456@mongo:27017/grafinya?authSource=admin
VITE_API_BASE_URL=http://<HOST>:5000/api/v1
Обязательно замените VITE_API_BASE_URL на адрес backend API, который должен быть доступен из браузера пользователя:
VITE_API_BASE_URL=http://192.168.0.1:5000/api/v1
Параметры NGINX_HOST и NGINX_PORT необязательны и используются в случае особых сценариев (строгий домен, несколько сервисов на одном порту, дополнительные правила безопасности). Пример:
NGINX_PORT=80
NGINX_HOST=192.168.0.1
Шаг 2: Аутентификация в Docker Registry
Выполните вход в приватный реестр:
docker login registry.pult.chislitellab.ru:8123
Введите свои учетные данные при запросе.
Шаг 3: Запуск сервисов
Запустите сервисы с помощью Docker Compose:
docker compose up -d
Шаг 4: Проверка работы сервисов
После запуска проверьте, что все контейнеры работают:
docker compose ps
Должны быть активны следующие сервисы:
- mongo
- frontend
- backend
- prometheus-plugin
- pult-plugin
- csv-plugin
- postgres-plugin
Важные замечания
-
Для production-окружения рекомендуется изменить значения
JWT_SECRETиJWT_REFRESH_SECRETна более сложные. -
В переменной
ALLOWED_ORIGINможно указать origin фронтенда, чтобы ограничить доступ к API