# syntax=docker/dockerfile:1

# Image de base Python 3.11
FROM python:3.11-slim

# Variables d'environnement Python
ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1

# Installer uv (modern Python package manager)
RUN pip install uv

# Répertoire de travail
WORKDIR /app

# Copier les fichiers de dépendances
COPY pyproject.toml README.md ./

# Installer les dépendances (prod + dev pour hot-reload)
RUN uv sync

# Copier le code source
COPY . .

# Créer les répertoires nécessaires
RUN mkdir -p /app/data /app/uploads

# Exposer le port FastAPI
EXPOSE 8000

# Commande par défaut (peut être overridée par docker-compose)
# Note: --reload est activé pour le développement
CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
