Gobas Web
Tento projekt obsahuje jednoduchý statický web a backend pre kontaktný formulár. Celá aplikácia je kontajnerizovaná pomocou Dockeru a beží za NGINX reverzným proxy serverom pre bezproblémový a rýchly deployment.
Architektúra
Projekt sa skladá z troch hlavných služieb definovaných v docker-compose.yaml:
- Proxy (NGINX): Prijíma prichádzajúcu prevádzku na porte 80 a smeruje ju buď na statický frontend alebo na API backendu.
- Frontend: Jednoduchá webová prezentácia.
- Backend (Flask): Python mikroservis, ktorý slúži na spracovanie a odosielanie emailov z kontaktného formulára pomocou knižnice
Flask-Mail.
Požiadavky
Pre úspešné lokálne spustenie alebo nasadenie na server je potrebné mať nainštalované:
- Docker
- Docker Compose
Konfigurácia prostredia (.env)
Backendová časť potrebuje na odosielanie správ z formulára prístup k SMTP serveru (predvolený je Gmail).
V koreňovom adresári projektu (kde sa nachádza docker-compose.yaml) vytvorte súbor .env a doplňte doň svoje údaje:
MAIL_USERNAME=tvoj@email.sk
MAIL_PASSWORD=tvoje_tajne_heslo_alebo_app_password
Poznámka pre Gmail: Ak máte na Google účte zapnuté dvojfázové overenie (2FA), klasické heslo nebude fungovať. Je potrebné si v nastaveniach Google účtu vygenerovať tzv. Heslo aplikácie (App Password).
Spustenie
Pre zostavenie Docker obrazov a naštartovanie všetkých služieb na pozadí spustite nasledujúci príkaz:
docker-compose up --build -d
Po úspešnom spustení bude webová stránka dostupná vo vašom prehliadači na adrese http://localhost.
Pre zastavenie bežiacich kontajnerov použite:
docker-compose down
Štruktúra projektu
/frontned/- Zdrojové kódy pre statický web a príslušnýDockerfile./backend/- Zdrojové kódy pre Python Flask API a jehoDockerfile./nginx/- Konfiguračný súbornginx.confpre reverzné proxy.docker-compose.yaml- Hlavný predpis pre Docker služby.