Инструкция по установке экземпляра программного обеспечения, предоставленного для проведения экспертной проверки
Титульные данные
| Поле | Значение |
|---|---|
| Наименование ПО | Inventions |
| Условное обозначение / версия | 1.0 |
| Правообладатель | ООО «ДИТЕКС» |
| Дата документа | 15.06.2026 |
| Назначение экземпляра | Экземпляр для проведения экспертной проверки в целях включения в реестр российского ПО |
1. Назначение документа
Настоящая инструкция подготовлена в соответствии с п. 2.1.4 и п. 2.1.2.3 методических рекомендаций по работе с ФГИС «Реестры программ для ЭВМ и баз данных» и описывает:
- требования к вычислительной среде;
- состав поставляемого экспертного экземпляра;
- пошаговый порядок установки и настройки программного обеспечения Inventions на сервере;
- проверку успешности развёртывания;
- контакты технических специалистов для консультаций по развёртыванию.
Экспертный экземпляр поставляется в виде готовых Docker-образов (контейнеризация), что соответствует способу подготовки проверочного экземпляра по п. 2.1.2.3 методических рекомендаций (набор образов с описанием развёртывания).
2. Состав поставляемого экспертного экземпляра
| Компонент | Описание |
|---|---|
| frontend | Docker-образ веб-клиента: Next.js (production, режим standalone) + обратный прокси nginx |
| backend | Docker-образ сервера приложений: Node.js 20, NestJS, REST API |
| PostgreSQL / TimescaleDB | Опционально — сервис timescaledb в профиле Compose db; либо внешний кластер PostgreSQL |
| Redis | Опционально — сервис redis в профиле db; либо внешний инстанс Redis |
Исходные тексты и конфигурация сборки — в репозитории правообладателя; для экспертизы поставляются готовые образы из реестра контейнеров (HUB):
${HUB}/inventions/frontend/web:<тег>${HUB}/inventions/backend/next:<тег>
Ссылка на развёрнутый экземпляр для экспертизы (заполняется при поставке): _________________________
3. Требования к вычислительной среде
3.1. Программно-аппаратная платформа
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| ОС хоста | Linux с Docker (x86_64 или согласованная архитектура образов) | Дистрибутив с долгосрочной поддержкой |
| CPU | 2 vCPU | 4 vCPU и выше |
| RAM | 6 ГБ | 12 ГБ и выше |
| Диск | 30 ГБ | 80 ГБ SSD |
| Сеть | Доступ к реестру образов (HUB); при интеграциях — к Jira, Яндекс OAuth | Контролируемый доступ в сеть |
3.2. Необходимое программное обеспечение на хосте
- Docker Engine и Docker Compose (спецификация v2);
- PostgreSQL 16+ (или TimescaleDB на базе PostgreSQL 16);
- Redis 6+ (в compose:
redis:7-alpine).
4. Подготовка базы данных и вспомогательных сервисов
4.1. Схемы данных
В shared/database/prisma/schema.prisma:
users— пользователи, роли, внешние аккаунты;analytics— гипертаблицы аналитики;sync— единая витрина задач+worklog (tracker_issue_snapshots,tracker_worklog_entries).
4.2. Строки подключения
DATABASE_URL— URI PostgreSQL для backend.ANALYTICS_DATABASE_URL(опционально) — отдельный DSN для аналитики.REDIS_URL— URI Redis (обязателен для работоспособного backend).
4.3. Подъём БД и Redis из репозитория (опционально)
docker compose --profile db up -d timescaledb redis
4.4. Инициализация схемы БД
pnpm --filter @repo/database db:migrate:deploy
Конкретный способ и момент выполнения определяются актом поставки. При старте backend в типовой поставке может выполняться prisma db push (см. README.md).
5. Переменные окружения
Создайте файл .env в каталоге с docker-compose.yml. Полный перечень: backend/apps/core-backend/.env.example.
5.1. Обязательные переменные
| Переменная | Описание |
|---|---|
HUB | Хост реестра контейнеров без https:// |
DATABASE_URL | URI PostgreSQL |
REDIS_URL | URI Redis |
В
docker-compose.ymlпо умолчаниюREDIS_URLне задана — добавьте вdocker-compose.override.ymlили передайте иным способом.
5.2. Рекомендуемые переменные
| Переменная | Назначение |
|---|---|
JWT_SECRET | Криптостойкий секрет (не использовать заглушку из compose) |
BACKEND_PORT / FRONTEND_PORT | Порты на хосте (по умолчанию 13680 / 7777) |
BACKEND_IMAGE_TAG, FRONTEND_IMAGE_TAG | Теги образов |
BACKEND_UPSTREAM / DECOMPOSITION_UPSTREAM | URL для nginx фронтенда (без завершающего /) |
JIRA_BASE_URL, YANDEX_OAUTH_* | Интеграции (при необходимости проверки) |
6. Пошаговая инструкция по установке и развёртыванию на сервере
Шаг 1. Подготовка каталога
- Создайте каталог на сервере экспертизы.
- Скопируйте
docker-compose.ymlи подготовьте.env. - При необходимости создайте
docker-compose.override.ymlсREDIS_URLи дополнительными переменными backend.
Шаг 2. Подготовка PostgreSQL и Redis
- Поднимите PostgreSQL/TimescaleDB и Redis (профиль
dbили внешние инстансы). - Убедитесь в доступности
DATABASE_URLиREDIS_URLиз сети контейнера backend. - Примените миграции БД (раздел 4.4).
Шаг 3. Загрузка образов
docker compose pull
Шаг 4. Запуск сервисов
docker compose up -d
Шаг 5. Контроль журналов
docker compose logs -f backend
docker compose logs -f frontend
Дождитесь успешного старта контейнеров inventions_backend и inventions_frontend.
Шаг 6. Настройка прокси фронтенда
Убедитесь, что переменные BACKEND_UPSTREAM и при необходимости DECOMPOSITION_UPSTREAM указывают на доступные upstream-сервисы (см. docker/webapp/nginx.conf.template).
7. Проверка успешности установки
| № | Действие | Ожидаемый результат |
|---|---|---|
| 1 | Открыть http://<хост>:<FRONTEND_PORT>/ | Отображается веб-интерфейс (порт по умолчанию 7777) |
| 2 | GET http://<хост>:<BACKEND_PORT>/health/live | HTTP 200 |
| 3 | GET http://<хост>:<BACKEND_PORT>/health/ready | HTTP 200 (БД, Redis, адаптеры трекеров) |
| 4 | Открыть Swagger: http://<хост>:<BACKEND_PORT>/api | Документация OpenAPI |
| 5 | Проверить прокси /api/ через frontend | Запросы доходят до backend |
При ошибках: проверьте DATABASE_URL, REDIS_URL, миграции, логи контейнеров (docs/operations/runbook.md).
8. Учётные данные для экспертов
| Параметр | Значение |
|---|---|
| URL веб-интерфейса | http://<хост>:<FRONTEND_PORT>/ |
| Логин тестового пользователя | _________________________ |
| Пароль тестового пользователя | _________________________ |
| Примечание | Учётная запись создаётся правообладателем на стенде экспертизы; при первом входе возможна регистрация через форму /login |
9. Остановка и удаление экземпляра
docker compose down
docker compose --profile db down # при использовании профиля db
10. Контакты технических специалистов
| Роль | ФИО | Телефон / e-mail |
|---|---|---|
| Ответственный за развёртывание экспертного экземпляра | _________________________ | _________________________ |
| Backend / интеграции | _________________________ | _________________________ |
| DevOps / инфраструктура | _________________________ | _________________________ |
Документ подготовлен ООО «ДИТЕКС» в соответствии с п. 2.1.4 и п. 2.1.2.3 методических рекомендаций ФГИС «Реестры ПО».