Инструкция по установке экземпляра программного обеспечения, предоставленного для проведения экспертной проверки

Титульные данные

ПолеЗначение
Наименование ПОInventions
Условное обозначение / версия1.0
ПравообладательООО «ДИТЕКС»
Дата документа15.06.2026
Назначение экземпляраЭкземпляр для проведения экспертной проверки в целях включения в реестр российского ПО

1. Назначение документа

Настоящая инструкция подготовлена в соответствии с п. 2.1.4 и п. 2.1.2.3 методических рекомендаций по работе с ФГИС «Реестры программ для ЭВМ и баз данных» и описывает:

  • требования к вычислительной среде;
  • состав поставляемого экспертного экземпляра;
  • пошаговый порядок установки и настройки программного обеспечения Inventions на сервере;
  • проверку успешности развёртывания;
  • контакты технических специалистов для консультаций по развёртыванию.

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

2. Состав поставляемого экспертного экземпляра

КомпонентОписание
frontendDocker-образ веб-клиента: Next.js (production, режим standalone) + обратный прокси nginx
backendDocker-образ сервера приложений: 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 или согласованная архитектура образов)Дистрибутив с долгосрочной поддержкой
CPU2 vCPU4 vCPU и выше
RAM6 ГБ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. Строки подключения

  1. DATABASE_URL — URI PostgreSQL для backend.
  2. ANALYTICS_DATABASE_URL (опционально) — отдельный DSN для аналитики.
  3. 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_URLURI PostgreSQL
REDIS_URLURI 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_UPSTREAMURL для nginx фронтенда (без завершающего /)
JIRA_BASE_URL, YANDEX_OAUTH_*Интеграции (при необходимости проверки)

6. Пошаговая инструкция по установке и развёртыванию на сервере

Шаг 1. Подготовка каталога

  1. Создайте каталог на сервере экспертизы.
  2. Скопируйте docker-compose.yml и подготовьте .env.
  3. При необходимости создайте docker-compose.override.yml с REDIS_URL и дополнительными переменными backend.

Шаг 2. Подготовка PostgreSQL и Redis

  1. Поднимите PostgreSQL/TimescaleDB и Redis (профиль db или внешние инстансы).
  2. Убедитесь в доступности DATABASE_URL и REDIS_URL из сети контейнера backend.
  3. Примените миграции БД (раздел 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)
2GET http://<хост>:<BACKEND_PORT>/health/liveHTTP 200
3GET http://<хост>:<BACKEND_PORT>/health/readyHTTP 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 методических рекомендаций ФГИС «Реестры ПО».