Files
brand_book/docs/DEPLOY.md
T
AR 15 M4 a715503ca5 docs: обновлена проектная документация по деплою на Vercel
- TZ.md: хостинг (Vercel), стек (актуальные версии Next.js 16/NestJS 11/Prisma 7/pnpm 10/Tailwind 4),
  раздел 12.2 с командой деплоя, закрыты ОВ-02 и ОВ-06
- SPRINTS.md: в Sprint 2 — ссылка на production URL; Sprint 12 — уточнены задачи деплоя
- docs/DEPLOY.md: новый файл — инструкция по деплою фронтенда, локальной разработке,
  план автодеплоя через Gitea Actions, варианты хостинга бэкенда

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:11:43 +05:00

4.7 KiB

Деплой — oclinica-brandbook

Текущее состояние

Сервис Статус URL Платформа
Фронтенд Активен https://web-oclinica.vercel.app Vercel Hobby
Бэкенд локально http://localhost:3001 Docker Compose
База данных локально localhost:5433 PostgreSQL 16

Фронтенд — Vercel

Первоначальная настройка (уже выполнена)

# 1. Установить Vercel CLI
npm install -g vercel

# 2. Войти в аккаунт (однократно, открывает браузер)
vercel login

# 3. Первый деплой из директории apps/web
cd apps/web
vercel --yes

Деплой обновлений

cd apps/web
vercel --prod --yes

Деплой занимает ~30 секунд. После завершения изменения сразу доступны по адресу: https://web-oclinica.vercel.app

Как это работает

  • Vercel автоматически определяет Next.js и использует pnpm для сборки
  • Каждый vercel --prod создаёт новый immutable deployment и привязывает его к production URL
  • Предыдущие деплои остаются доступны по уникальным preview URL
  • Логи билда: https://vercel.com/oclinica/web

Ограничения Vercel Hobby (бесплатный план)

Параметр Лимит
Bandwidth 100 GB / месяц
Builds 6000 минут / месяц
Serverless Functions 100 GB-hours / месяц
Тип использования Только некоммерческие

Для брендбука (внутренний инструмент) лимитов более чем достаточно.


Локальная разработка

Запуск фронтенда

# Из корня monorepo
pnpm dev

# Или только фронтенд
cd apps/web && pnpm dev

Доступен на: http://localhost:3001

Запуск бэкенда + БД

# Запустить PostgreSQL
docker compose up -d

# Запустить NestJS
cd apps/api && pnpm dev

.env файлы

# Скопировать и заполнить
cp .env.example .env

Содержимое .env.example:

DATABASE_URL="postgresql://brandbook:brandbook@localhost:5433/brandbook"
API_PORT=3001
NEXT_PUBLIC_API_URL=http://localhost:3001

Автодеплой через Gitea Actions (планируется в Sprint 12)

Для автоматического деплоя при пуше в ветку main создать файл .gitea/workflows/deploy-frontend.yml:

name: Deploy Frontend to Vercel

on:
  push:
    branches: [main]
    paths:
      - 'apps/web/**'

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 10

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'pnpm'
          cache-dependency-path: apps/web/pnpm-lock.yaml

      - name: Install Vercel CLI
        run: npm install -g vercel

      - name: Deploy to Vercel
        run: cd apps/web && vercel --prod --yes --token ${{ secrets.VERCEL_TOKEN }}

Настройка:

  1. Получить Vercel Token: https://vercel.com/account/tokens
  2. Добавить в Gitea: Settings → Secrets → VERCEL_TOKEN

Хостинг бэкенда (планируется к Sprint 11)

Бэкенд (NestJS + PostgreSQL) потребуется для экспериментальной секции (Sprint 11). Варианты для рассмотрения:

Платформа PostgreSQL Бесплатно Карта
Railway $5 кредит / месяц нужна
Supabase (PostgreSQL managed) нет
Fly.io ограниченно нет
VPS клиники (если есть) нет

Рекомендация: Supabase для БД (бесплатно, managed PostgreSQL) + Railway или VPS для NestJS.