DevOps.Portfolio
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
}