Цифровой бренд бук клиники. Описание элементов сайта: цвета, шрифты, блоки, формы, страницы
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

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.