# Image de base minuscule : Python sur Alpine Linux (~50 Mo une fois construite)
FROM python:3.12-alpine

# Version de l'image, transmise au build via docker-compose.yml (source : .env).
# Valeur par défaut « dev » si le build est lancé sans la fournir.
ARG VERSION=dev
LABEL org.opencontainers.image.version="${VERSION}"

WORKDIR /app

# On installe les dépendances en premier pour profiter du cache de build
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Le code de l'application : le script Python et la page HTML (à la racine).
COPY app.py index.html ./

# Dossier où vivra la base SQLite. Il est monté depuis l'extérieur via le
# volume défini dans docker-compose.yml.
ENV DATA_DIR=/data

EXPOSE 5000

CMD ["python", "app.py"]
