Repozitář obsahuje frontend a backend aplikace Lekový Portál, připravené pro běh v Dockeru pomocí docker compose.
- Docker
- Docker Compose plugin (
docker compose)
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_hesloV docker-compose.yml je frontend standardně bindován na 127.0.0.1:5100:80.
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;
}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.
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 --buildAplikace je poté dostupná:
- Lokálně (vývoj): http://localhost:5100
- Produkce (přes doménu): http:// nebo http:// (Standardní porty 80/443 jsou vnějším Nginxem mapovány na vnitřní port 5100)
docker compose downdocker compose --compatibility --env-file .env up -d --builddocker compose down -v
docker compose --compatibility --env-file .env up -d --buildRabbitMQ 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.
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č:
--compatibilityBez tohoto přepínače Docker Compose paměťové limity ignoruje.