Skip to content

opendatalabcz/leky_web

Repository files navigation

Lekový Portál

Repozitář obsahuje frontend a backend aplikace Lekový Portál, připravené pro běh v Dockeru pomocí docker compose.

Požadavky

  • Docker
  • Docker Compose plugin (docker compose)

Návod k nasazení

1) Vytvoř .env soubor

V kořenovém adresáři vytvořte soubor .env (podle vzoru .env.example) a vyplňte přístupové údaje.

POSTGRES_DB=lekovy_portal
POSTGRES_USER=lekovy_portal_user
POSTGRES_PASSWORD=zvolte_silne_heslo

RABBITMQ_USER=rabbit_user
RABBITMQ_PASSWORD=zvolte_silne_heslo

2. Konfigurace vnějšího Nginxu a CORS

V docker-compose.yml je frontend standardně bindován na 127.0.0.1:5100:80.

Nastavení vnějšího Nginxu:

Pro funkční přístup přes doménu vložte do konfigurace vnějšího Nginxu na hostitelském serveru následující blok:

  location / {
    proxy_pass http://127.0.0.1:5100; # Směřuje na frontend kontejner
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    proxy_read_timeout 300;
    proxy_connect_timeout 60;
    proxy_send_timeout 300;
    
    client_max_body_size 100M;
}

Kontrola povolených domén (CORS):

Backend je v docker-compose.yml přednastaven pro domény lecivavdatech.cz a lecivavdatech.opendatalab.cz (proměnná ALLOWED_ORIGINS). Pokud budete aplikaci nasazovat na jinou subdoménu, doplňte ji do tohoto seznamu v docker-compose.yml před spuštěním.


3) Spuštění aplikace

Pro správnou aplikaci paměťových limitů a načtení konfigurace použijte tento příkaz:

docker compose --compatibility --env-file .env up -d --build

Aplikace je poté dostupná:


4) Správa kontejnerů

Zastavení služeb

docker compose down

Aktualizace (přenasazení)

docker compose --compatibility --env-file .env up -d --build

Kompletní přenasazení, včetně smazání dat

docker compose down -v
docker compose --compatibility --env-file .env up -d --build

5) RabbitMQ Management UI (volitelné)

RabbitMQ Management UI je z bezpečnostních důvodů bindnuté pouze na 127.0.0.1:15672.

Na vzdáleném serveru (VPS) se k němu lze připojit pomocí SSH tunelu:

ssh -L 15672:127.0.0.1:15672 root@<server-ip>

Poté otevři v prohlížeči:

Přihlašovací údaje jsou stejné jako v .env souboru.


Poznámka k paměťovým limitům

Projekt používá paměťové limity definované v deploy.resources.limits.

Aby byly tyto limity aplikovány i při běžném spuštění pomocí Docker Compose, je nutné použít přepínač:

--compatibility

Bez tohoto přepínače Docker Compose paměťové limity ignoruje.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •