ТTessora Docs

Деплой и инфраструктура

Vercel + Railway, Docker, CI/CD

Схема

ЧтоГде
Next.js приложениеVercelhttps://tessora-task-portal.vercel.app
PostgreSQL 16Railway
Redis 7 (BullMQ)Railway
ФайлыCloudflare R2 (prod) / MinIO (dev)
Safebot-воркерRailway

Vercel

  • Build: prisma generate && prisma migrate deploy && next build (из package.json), postinstall: prisma generate.
  • Env-переменные задаются в настройках Vercel.
  • Ветка main защищена — merge в main = auto-deploy в production.

Railway

Конфиг railway.json:

{
  "build": { "builder": "DOCKERFILE" },
  "deploy": {
    "startCommand": "sh ./scripts/migrate-on-deploy.sh && node server.js",
    "healthcheckPath": "/api/health",
    "healthcheckTimeout": 60,
    "restartPolicyType": "ON_FAILURE"
  }
}

scripts/migrate-on-deploy.sh применяет миграции (prisma migrate deploy) перед стартом сервера. Health check — GET /api/health.

Dockerfile

3-stage build:

  1. depspnpm install;
  2. builderprisma generate + next build (standalone);
  3. runnernode:20-alpine, только standalone-артефакты.

Dev-инфраструктура

docker-compose.yml поднимает локально:

СервисПорт
PostgreSQL 165433
Redis6381
MinIO (S3 API / консоль)9000 / 9001

Процесс релиза

  1. Ветка от main → изменения → PR.
  2. CI: typecheck + E2E — обязательны.
  3. Review → merge в main → auto-deploy.
  4. Каждая фича/фикс — записан в CHANGELOG.md ([Unreleased]).

Прямые push в main запрещены — ветка защищена. Работать только через PR.

On this page