Dokumentace
Centrum nápovědyDevOpsNasazení
docs/cs/05-devops/deployment.md

Nasazení (Vercel + Supabase)

Tento dokument popisuje architekturu nasazení OPORA a provozní odpovědnosti.

High-level model nasazení

  • Web aplikace: nasazená na Vercel (Next.js App Router).
  • Databáze + autentizace: Supabase-hostovaný Postgres + Supabase Auth.
  • ORM: Prisma používaná aplikací pro přístup k Postgresu.

Odpovědnosti a hranice

  • Vercel hostuje runtime aplikace a routy.
  • Supabase hostuje:
  • identity provider (Auth)
  • primární perzistenci (Postgres)
  • provozní tooling (backupy, monitoring) dle zvoleného plánu

Cíle nasazování

  • Bezpečná, opakovatelná nasazení.
  • Silné oddělení prostředí (dev/staging/prod).
  • Minimální downtime a jasný rollback příběh pro migrace a kritické změny.

Klíčové provozní invarianty

  • Žádný přístup k tenant datům bez autentizovaného, org-scoped requestu.
  • Secrets jsou environment-scoped a nikdy se necommitují.
  • DB migrace se aplikují záměrně a jsou dohledatelné.

Kontrola databáze před vydáním

Před přepnutím na nový build použít [kontrolu připravenosti databáze](release-database-readiness-2026-09-11.md). Příkaz npm run release:check --workspace=@opora/web vyžaduje explicitní OPORA_RELEASE_DATABASE_URL ze spravovaného prostředí. Porovná instalovaného Prisma klienta, dokončení a checksumy migrací a skutečné schéma. Nic nemigruje. Návratový kód 0 potvrzuje pouze tyto databázové podmínky v okamžiku kontroly; nenahrazuje schválení nasazení, přejímku firmy ani kontrolu externích služeb.

Při skladovém upgradu musí být před novými zápisy ukončené staré zapisující instance. Nový zámek inventury nemůže ochránit sklad před starým kódem, který tento protokol nezná. Samotné aditivní migrace nezaručují bezpečný smíšený provoz dvou verzí.