FROM python:3.12-slim

WORKDIR /app

# Install system dependencies (ajout de git pour segmentation_models)
RUN apt-get update && \
    apt-get install -y nginx curl gettext-base git && \
    # Pour OpenCV si nécessaire
    apt-get install -y libglib2.0-0 libsm6 libxext6 libxrender-dev libgomp1 && \
    adduser --system --no-create-home --group www-data || true && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Copy app/ d'abord pour avoir requirements.txt
COPY app/ ./app/

# Install requirements depuis le bon chemin
RUN pip install --no-cache-dir -r app/requirements.txt

# ✅ CORRECTION: Copy start.sh AVANT les permissions
COPY start.sh ./start.sh

# Copy du reste après installation (optimise les layers Docker)
COPY utils/ ./utils/
COPY cityscapes_config.json .
COPY notebooks/content/data/test_images_sample/ ./notebooks/content/data/test_images_sample/
COPY notebooks/content/data/train_images_sample/ ./notebooks/content/data/train_images_sample/

# Copy nginx config
COPY nginx.conf /etc/nginx/nginx.conf.template

# ✅ CORRECTION: Setup permissions APRÈS avoir copié start.sh + correction fins de ligne
RUN mkdir -p /var/log/nginx /var/lib/nginx /run && \
    sed -i 's/\r$//' ./start.sh && \
    chmod +x ./start.sh

# Environment variables
ENV NGINX_PORT=8080
ENV MULTISEG_API_BASE_URL=http://localhost:8080/api

EXPOSE $NGINX_PORT

# ✅ CORRECTION: Chemin cohérent (./start.sh au lieu de /app/start.sh)
CMD ["./start.sh"]
