Установка
Раздел описывает два случая: работу с размещённым экземпляром, для которой установка не требуется, и самостоятельное развёртывание из предоставляемого архива с исходным текстом.
| Случай | Что требуется | Раздел |
|---|---|---|
| Использование размещённого экземпляра | браузер | 1–2 |
| Самостоятельное развёртывание | Docker и Docker Compose | 4 |
1. Системные требования
Установка программного обеспечения на устройство пользователя не требуется. Для работы необходимы:
| Параметр | Значение |
|---|---|
| Устройство | персональный компьютер, планшет или смартфон |
| Браузер | современный браузер с поддержкой ECMAScript 2022 и Server-Sent Events: Яндекс Браузер (актуальная версия), Google Chrome 94+, Mozilla Firefox 93+, Safari 15.4+, Microsoft Edge 94+ |
| Разрешение экрана | от 320 пикселей по ширине |
| Соединение | доступ в сеть «Интернет», от 1 Мбит/с |
| Дополнительное ПО | не требуется |
Действующая учётная запись обучающегося образовательной организации и доступ к студенческому адресу электронной почты необходимы для регистрации.
2. Получение доступа к размещённому экземпляру
Программное обеспечение предоставляется по модели SaaS и размещается на инфраструктуре правообладателя на территории Российской Федерации. Отдельная установка, распаковка дистрибутива или настройка на стороне пользователя не выполняются.
Порядок получения доступа:
- Открыть в браузере адрес https://app.pir2pir.ru
- Указать логин учётной записи образовательной организации.
- Получить одноразовый код на студенческий адрес электронной почты и ввести его в приложении.
- После подтверждения учётная запись создаётся автоматически, доступ предоставляется немедленно.
Повторный вход выполняется тем же способом. Срок действия одноразового кода — 10 минут.
3. Условия функционирования серверной части
| Компонент | Назначение |
|---|---|
| Сервер приложений | платформа .NET, контейнеризованное развёртывание |
| СУБД | PostgreSQL |
| Брокер сообщений | Apache Kafka |
| Обратный прокси | nginx, TLS |
Требования к серверу: операционная система семейства Linux, среда контейнеризации, не менее 4 ГБ оперативной памяти и 20 ГБ дискового пространства для базового развёртывания. Работа не требует иностранных программных продуктов и облачных сервисов; используемые сторонние компоненты распространяются по свободным лицензиям.
4. Самостоятельное развёртывание из архива
Правообладатель предоставляет по запросу защищённый паролем архив с исходным текстом серверной части и веб-приложения. Архив разворачивается одной командой; обращение к закрытым репозиториям и учётные записи в сторонних системах не требуются — параметры подключения в архиве уже заполнены.
Запрос архива и пароля: legal@pir2pir.ru, либо контакты из раздела 6.
4.1. Что требуется установить
| Компонент | Версия | Назначение |
|---|---|---|
| Docker Engine | 24.0 и выше | сборка и запуск контейнеров |
| Docker Compose | версия 2 (плагин docker compose) | описание и запуск стенда |
Больше ничего устанавливать не требуется.
4.2. Что загружается автоматически
Перечислено для сведения. Компоненты загружаются при сборке из официальных общедоступных образов; устанавливать их отдельно не нужно.
| Компонент | Версия | Образ |
|---|---|---|
| .NET SDK | 10.0 | mcr.microsoft.com/dotnet/sdk:10.0 |
| .NET runtime-deps | 10.0 | mcr.microsoft.com/dotnet/runtime-deps:10.0 |
| Node.js | 22 (Alpine) | node:22-alpine |
| nginx | стабильная (Alpine) | nginxinc/nginx-unprivileged:alpine |
| PostgreSQL | 17 (Alpine) | postgres:17-alpine |
| Apache Kafka | 3.9.0 | apache/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. Проверка входа
- Открыть http://localhost:3000
- Указать логин участника образовательной организации и запросить код.
- Ввести полученный код.
Код направляется на студенческий адрес. Если почтовый сервер в архиве не настроен, код читается из
журнала — в среде 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 |