Перейти к основному содержимому

Установка

Раздел описывает два случая: работу с размещённым экземпляром, для которой установка не требуется, и самостоятельное развёртывание из предоставляемого архива с исходным текстом.

СлучайЧто требуетсяРаздел
Использование размещённого экземплярабраузер1–2
Самостоятельное развёртываниеDocker и Docker Compose4

1. Системные требования

Установка программного обеспечения на устройство пользователя не требуется. Для работы необходимы:

ПараметрЗначение
Устройствоперсональный компьютер, планшет или смартфон
Браузерсовременный браузер с поддержкой ECMAScript 2022 и Server-Sent Events: Яндекс Браузер (актуальная версия), Google Chrome 94+, Mozilla Firefox 93+, Safari 15.4+, Microsoft Edge 94+
Разрешение экранаот 320 пикселей по ширине
Соединениедоступ в сеть «Интернет», от 1 Мбит/с
Дополнительное ПОне требуется

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


2. Получение доступа к размещённому экземпляру

Программное обеспечение предоставляется по модели SaaS и размещается на инфраструктуре правообладателя на территории Российской Федерации. Отдельная установка, распаковка дистрибутива или настройка на стороне пользователя не выполняются.

Порядок получения доступа:

  1. Открыть в браузере адрес https://app.pir2pir.ru
  2. Указать логин учётной записи образовательной организации.
  3. Получить одноразовый код на студенческий адрес электронной почты и ввести его в приложении.
  4. После подтверждения учётная запись создаётся автоматически, доступ предоставляется немедленно.

Повторный вход выполняется тем же способом. Срок действия одноразового кода — 10 минут.


3. Условия функционирования серверной части

КомпонентНазначение
Сервер приложенийплатформа .NET, контейнеризованное развёртывание
СУБДPostgreSQL
Брокер сообщенийApache Kafka
Обратный проксиnginx, TLS

Требования к серверу: операционная система семейства Linux, среда контейнеризации, не менее 4 ГБ оперативной памяти и 20 ГБ дискового пространства для базового развёртывания. Работа не требует иностранных программных продуктов и облачных сервисов; используемые сторонние компоненты распространяются по свободным лицензиям.


4. Самостоятельное развёртывание из архива

Правообладатель предоставляет по запросу защищённый паролем архив с исходным текстом серверной части и веб-приложения. Архив разворачивается одной командой; обращение к закрытым репозиториям и учётные записи в сторонних системах не требуются — параметры подключения в архиве уже заполнены.

Запрос архива и пароля: legal@pir2pir.ru, либо контакты из раздела 6.

4.1. Что требуется установить

КомпонентВерсияНазначение
Docker Engine24.0 и вышесборка и запуск контейнеров
Docker Composeверсия 2 (плагин docker compose)описание и запуск стенда

Больше ничего устанавливать не требуется.

4.2. Что загружается автоматически

Перечислено для сведения. Компоненты загружаются при сборке из официальных общедоступных образов; устанавливать их отдельно не нужно.

КомпонентВерсияОбраз
.NET SDK10.0mcr.microsoft.com/dotnet/sdk:10.0
.NET runtime-deps10.0mcr.microsoft.com/dotnet/runtime-deps:10.0
Node.js22 (Alpine)node:22-alpine
nginxстабильная (Alpine)nginxinc/nginx-unprivileged:alpine
PostgreSQL17 (Alpine)postgres:17-alpine
Apache Kafka3.9.0apache/kafka:3.9.0

Серверная часть собирается как самодостаточное приложение: среда выполнения .NET включается в состав приложения. Архитектура определяется автоматически — linux-x64 либо linux-arm64, — поэтому стенд работает и на процессорах Intel и AMD, и на Apple Silicon и других процессорах ARM, без эмуляции.

Минимальные ресурсы: 4 ГБ оперативной памяти, 6 ГБ дискового пространства, доступ в сеть «Интернет» на время сборки.

4.3. Состав архива

pir2pir-expertise/
├── README.md — порядок установки и проверки
├── docker-compose.yml — описание запускаемых компонентов
├── .env — параметры подключения (заполнены)
├── api/ — исходный текст серверной части (C#, .NET 10)
└── web/ — исходный текст веб-приложения (TypeScript, React)

4.4. Порядок развёртывания

Шаг 1. Распаковать архив, указав полученный пароль.

Шаг 2. Перейти в каталог pir2pir-expertise.

Шаг 3. Выполнить:

docker compose up --build

Первая сборка занимает от 5 до 10 минут. Схема базы данных создаётся автоматически при запуске серверной части — отдельных команд миграции выполнять не нужно.

Шаг 4. Дождаться в выводе строки:

[INF] Now listening on: http://[::]:8080

Шаг 5. Проверить работоспособность:

curl http://localhost:8080/health

Ожидаемый ответ: {"status":"Healthy", ...}.

После запуска доступны:

АдресНазначение
http://localhost:3000веб-приложение
http://localhost:8080прикладной программный интерфейс

База данных и брокер сообщений наружу не публикуются: за пределами стенда они не используются.

4.5. Проверка входа

  1. Открыть http://localhost:3000
  2. Указать логин участника образовательной организации и запросить код.
  3. Ввести полученный код.

Код направляется на студенческий адрес. Если почтовый сервер в архиве не настроен, код читается из журнала — в среде Development серверная часть записывает его специально для такой проверки:

docker compose logs api | grep verification

Строка вида:

[WRN] [development] verification 0f2c8b1e-… for elenipad: code 248838

После подтверждения открывается приложение: профиль участника, перечень учебных проектов, подбор проверяющего. Сведения профиля загружаются из публичного программного интерфейса образовательной организации в фоновом режиме и появляются в течение нескольких секунд.

4.6. Если страница не открывается

Порты 3000 и 8080 часто заняты другими программами. Если контейнеры запустились, а страница не открывается, следует указать в файле .env свободные значения и повторить запуск:

WEB_PORT=3100
API_PORT=8180

4.7. Остановка

docker compose down # остановить
docker compose down -v # остановить и удалить данные базы

4.8. Отключённые компоненты

В проверочной сборке отключены возможности, требующие учётных записей в сторонних системах: лента объявлений, приглашения незарегистрированным студентам, приём пересылаемых уведомлений, обработка отчётов о недоставке почты и push-уведомления. Программное обеспечение штатно работает без них: при отсутствии настроек каждый компонент регистрирует это в журнале и не запускается.

Технические средства защиты авторских прав в архиве не применяются: исходный текст открыт, ограничений на запуск, изучение и модификацию нет.


5. Обновление и сопровождение

Порядок обновления, резервного копирования и устранения неисправностей приведён в разделе Процессы жизненного цикла.


6. Контакты

ПравообладательИндивидуальный предприниматель Искужин Айгиз
Электронная почтаlegal@pir2pir.ru
Поддержкаsupport@pir2pir.ru