Skip to content

Быстрый старт

Этот раздел нужен, чтобы быстро поднять рабочий контур NPPWEB локально и проверить не только “всё ли стартует”, но и “ходит ли поток данных end-to-end”.

Что входит в платформу

РепозиторийРоль
infraDocker Compose-контур со всеми базовыми сервисами и приложениями
contractsобщие GraphQL и event-схемы
npp-backendNestJS + GraphQL API, auth, ingest и предметная модель
npp-webNuxt 3 frontend для пользователей платформы
scrape-helperсбор данных из внешних источников
processing-workerнормализация событий и отправка ingest в API

Что нужно заранее

  • Docker и Docker Compose plugin;
  • Node.js 20+;
  • свободные порты 3000, 8080, 15672, 9001;
  • доступ к внешним источникам напрямую или через proxy-контур.

Базовый запуск всего стека

bash
cd infra
cp .env.example .env
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml up -d --build

Альтернатива через Make:

bash
make up

Какие сервисы должны подняться

  • postgres
  • redis
  • rabbitmq
  • minio
  • minio-init
  • backend-api
  • processing-worker
  • scraper-service
  • frontend

Опционально:

  • xray-proxy, если включён профиль proxy

Smoke-check после старта

1. Проверка инфраструктуры

bash
cd infra
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml ps

2. Проверка backend

bash
curl http://localhost:3000/api/health
curl http://localhost:3000/api/health/ready

3. Проверка frontend

bash
curl -I http://localhost:8080

4. Проверка RabbitMQ и MinIO

  • RabbitMQ UI: http://localhost:15672
  • MinIO Console: http://localhost:9001

Локальные учётные записи

После seed обычно доступны:

  • admin@admin.ru / 12345678
  • analyst@admin.ru / 12345678
  • user@admin.ru / 12345678

Как убедиться, что конвейер работает end-to-end

Минимальный сценарий

  1. Открыть frontend на http://localhost:8080.
  2. Войти под аналитиком или администратором.
  3. Проверить, что dashboard и analytics открываются без GraphQL ошибок.
  4. Проверить, что в jobs или административном контуре видны запуски источников.
  5. Проверить, что в backend появляются SourceRun и закупки.

Диагностика через compose logs

bash
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml logs backend-api processing-worker scraper-service frontend

Локальный запуск по сервисам

Backend

bash
cd npp-backend
npm install
npm run db:setup
npm run start:dev

Frontend

bash
cd npp-web
npm install
npm run dev

Scraper

bash
cd scrape-helper
npm install
npm run start:dev

Worker

bash
cd processing-worker
npm install
npm run start:dev

Когда нужен proxy

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

В этом случае нужно:

  1. создать infra/xray-local/config.json на основе config.example.json;
  2. включить COMPOSE_PROFILES=proxy;
  3. указать HTTP_PROXY и HTTPS_PROXY=http://xray-proxy:8080;
  4. не забыть про корректный NO_PROXY для внутренних сервисов.

Что проверить, если что-то не работает

СимптомЧто смотреть первым
frontend не открываетсяfrontend container, NUXT_PUBLIC_GRAPHQL_ENDPOINT, health backend
GraphQL даёт ошибкиbackend-api logs, миграции, seed, auth
нет новых закупокscraper-service, processing-worker, RabbitMQ, ingest token
источник запускается, но публикует 0внешний сайт, фильтрация, analytics/dashboard по source runs
артефакты не прикрепляютсяMinIO, minio-init, S3_* env, права bucket

Куда идти дальше

Техническая и аналитическая документация платформы NPPWEB.