Архітектура платформи

Де працює кожен сервіс після розгортання

Оберіть сценарій, натисніть на компонент і подивіться його розташування, дані, зв’язки та зону відповідальності.

Next.js окремо від APINestJS + FFmpegPostgreSQL + приватний диск

Інтерактивна топологія

Шлях запиту та даних

Натискайте на вузли. Пов’язані сервіси залишаться виділеними, а праворуч відкриються деталі й потоки.

Рекомендовано

Веб працює на Vercel, а API, FFmpeg і приватні медіа — на контейнерному хості з постійним диском. PostgreSQL керується окремим провайдером.

Публічний контурЗастосунокДані та провайдери

API керує приватними даними й зовнішніми інтеграціями

SQL/TLS
приватний I/O
підпис URL
SMTP
invoice + webhook
Web Push
Виконання застосункуСховище данихЗовнішній провайдерЧутливі дані

Ключове розділення

Що можна розмістити на Vercel, а що — ні

Межа проходить не за мовою програмування, а за тривалістю процесу, секретами та потребою в постійному сховищі.

01

Vercel

Next.js і публічні assets

Сторінки, SSR, PWA та статичні ресурси. NEXT_PUBLIC змінні задаються під час збірки; приватні клінічні файли сюди не потрапляють.

02

Окремий runtime

NestJS, FFmpeg і приватний диск

API потребує довгих процесів, стабільних вихідних з’єднань, FFmpeg/ffprobe і volume для карантину — це контейнер або VPS.

03

Контур даних

PostgreSQL окремо від compute

Керована база спрощує резервні копії, оновлення й відновлення. У Compose її дані обов’язково живуть у persistent volume.

Порядок запуску

Як розгортається платформа

Нижчий рівень має бути готовим раніше за той, що від нього залежить.

  1. 1

    База, диск і секрети

    Створити PostgreSQL, persistent media storage, домени, TLS і production-секрети.

  2. 2

    API та міграції

    Запустити контейнер API; він перевірить конфіг і застосує міграції під advisory lock.

  3. 3

    Збірка й публікація web

    Зібрати Next.js з фінальними NEXT_PUBLIC_SITE_URL і NEXT_PUBLIC_API_URL.

  4. 4

    Перевірка потоків

    Перевірити health, CORS/cookie, email, платежі, відео, backup і відновлення.

До production

Що ще має залишатися вимкненим

Завантаження клінічних медіа й DICOM не можна відкривати до приймання профілю знеособлення, антивірусної перевірки, retention-політики та процедур інцидентів. Поточне транскодування вже готове, але не замінює ці бар’єри.