Требования

  • Docker и Docker Compose
  • свободные порты 3000, 5432, 8000, 1313

Сервисы локального контура

Файл docker-compose.yml поднимает четыре сервиса:

  • db - PostgreSQL 16
  • backend - FastAPI на :8000
  • frontend - Next.js на :3000
  • docs - Hugo dev-server на :1313

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

Из корня репозитория:

docker compose up --build

После запуска:

  • приложение доступно на http://localhost:3000
  • backend доступен на http://localhost:8000
  • документация доступна на http://localhost:1313/

Основные переменные backend

Локальный compose передает в backend:

  • DATABASE_URL=postgresql+asyncpg://wbunit:wbunit@db:5432/wbunit
  • JWT_SECRET
  • BASE_URL
  • SMTP-настройки
  • REPORTS_STORAGE_DIR=/storage/reports

По умолчанию backend хранит исходные отчеты в общем volume ./storage:/storage.

Миграции

После первого запуска БД нужно применить миграции из каталога src/backend:

cd src/backend
alembic upgrade head

Если backend крутится только в контейнере:

docker compose exec backend sh -lc "cd /app && alembic upgrade head"

Локальный запуск без Docker

Backend

cd src/backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload

Frontend

cd src/frontend
npm install
npm run dev

Docs-site

cd docs-site
hugo server