chore: initial project scaffolding with fastapi, docker and modular

structure
This commit is contained in:
2026-01-31 14:17:49 +01:00
parent 07e67cc086
commit 09239d8f8c
11 changed files with 185 additions and 1 deletions

30
Dockerfile Normal file
View File

@@ -0,0 +1,30 @@
# Usa un'immagine Python ufficiale leggera
FROM python:3.11-slim
# Imposta variabili d'ambiente per Python
# PYTHONDONTWRITEBYTECODE: evita la scrittura dei file .pyc
# PYTHONUNBUFFERED: permette di vedere i log in tempo reale
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Imposta la directory di lavoro
WORKDIR /code
# Installa le dipendenze di sistema necessarie (opzionale, ma utile per alcune lib)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Copia i file delle dipendenze
COPY pyproject.toml .
# Se hai anche un requirements.txt, copialo, altrimenti installa via pyproject
RUN pip install --no-cache-dir .
# Copia il resto del codice dell'applicazione
COPY . .
# Espone la porta su cui girerà FastAPI
EXPOSE 8000
# Comando per avviare l'app con Uvicorn
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]