Přeskočit obsah

Dev a produkčné routovanie

Lokálny dev režim používa nginx ako reverznú proxy:

  • /api, /adminer a /poptavky smerujú na apache:80
  • všetko ostatné smeruje na frontend-dev:5174, teda Vite dev server

Produkčný režim používa nginx a PHP-FPM bez Apache. Nginx potom rozlíši:

  • /api/public, /api/auth, /api/login, /api/login/request, /api/loginTokens a /api/invitations ako verejné API cesty cez FastCGI na php-fpm:9000
  • ostatné /api cesty ako interné staff API, dostupné len z povolených intranet/VPN/proxy rozsahov a ďalej chránené backend autentizáciou/autorizáciou
  • /adminer ako interný nástroj, dostupný len z povolených intranet/VPN/proxy rozsahov
  • /poptavky ako statický adresár
  • /client, /invoice, /redeem, /storno, /token, /invite, /login a /TherapistPortal ako verejné frontend cesty
  • ostatné URL priamo zo zbuildeného Reactu vo frontend/, s fallbackom na index.html, ale len z povolených intranet/VPN/proxy rozsahov

Produkčný compose súbor:

docker compose -f docker_pu/docker-compose.prod.yml up -d

Produkčný compose nastavuje runtime APP_URL=https://neo-crm.mswork.cz, COOKIE_TRANSFER_SECURE=true a COOKIE_TRANSFER_SAMESITE=Lax. Lokálny dev compose tieto hodnoty nemení, takže lokálne testovanie cez https://localhost zostáva oddelené od produkčnej konfigurácie. Súbor backend/.env sa pre túto zmenu nemení.

Pred produkčným nasadením musí prevádzka doplniť konkrétne verejné IP adresy alebo rozsahy reverznej proxy/VPN do interných allow pravidiel v docker_pu/nginx/default.prod.conf. Bez toho sú mimo privátnych sietí verejné len portálové/auth cesty a interná administrácia vracia 403.

Pred nasadením musí byť aktuálny React build uložený vo frontend/.