Powrót
Projekt
Projekt 2 - Aplikacja "Portfolio"
Aplikacja, która będzie posiadać informację na temat wykonanych projektów. Będzie zawierała opisy
Python
Flask
Firewall
Networking
Etapy wdrażania projektu
01
Krok 1 - Ustawienie firewalla w linuxie
Odblokowanie portów 80 oraz 443, aby aplikacja była dostępna na zewnątrz. Po wykonaniu zmian przeładowanie konfiguracji firewalla, aby była aktualna.
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
02
Krok 2 - Utworzenie aplikacji w kontenerze
Aplikacja będzie się opierać na stacku Python+Flask wraz z bazą danych SQLite. Caddy będzie pełnił rolę obsługujący domeny i przekierowujący ruch do aplikacji.
03
Struktura plików
Utworzenie odpowiedniej struktury plików dla aplikacji.
my-portfolio/
├── app.py
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── Caddyfile
└── templates/
├── base.html
├── index.html
└── project.html
04
Plik requirements.txt
requirements.txt
Flask==3.0.2 Flask-SQLAlchemy==3.1.1
05
Plik Dockerfile
Instalacja pythona oraz niezbędnych pakietów, otwarcie portu 5000 dla aplikacji.
FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"]
06
Plik Caddyfile
Ustawienie reverse proxy w Caddy.
sieklucki-dev.pl, www.sieklucki-dev.pl, sieklucki-dev.online, www.sieklucki-dev.online {
reverse_proxy flask-app:5000
}