root bf2c0901f4 feat: Organisation des scripts et amélioration de l'installation
- Création du répertoire scripts/ avec tous les scripts d'installation et de test
- Scripts d'installation automatique (install.sh, quick-start.sh)
- Scripts de maintenance complète (maintenance.sh)
- Scripts de test (test-installation.sh, test-api.sh, test-services.sh, test-integration.sh)
- Amélioration du Dockerfile avec healthchecks et sécurité
- Mise à jour du docker-compose.yml avec healthchecks et dépendances
- Makefile étendu avec nouvelles commandes
- Documentation complète mise à jour
- Fichier de configuration d'exemple (env.example)
- app.py corrigé et fonctionnel
2025-09-11 00:41:57 +02:00

50 lines
1.1 KiB
Docker

FROM python:3.11-slim
# Installation des dépendances système
RUN apt-get update && apt-get install -y \
libmagic1 \
poppler-utils \
tesseract-ocr \
tesseract-ocr-fra \
libtesseract-dev \
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
libgomp1 \
libgcc-s1 \
curl \
&& rm -rf /var/lib/apt/lists/*
# Création de l'utilisateur non-root
RUN groupadd -r appuser && useradd -r -g appuser appuser
WORKDIR /app
# Copie des fichiers de configuration
COPY requirements.txt .
# Installation des dépendances Python
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copie du code de l'application
COPY . .
# Création du répertoire de logs
RUN mkdir -p /app/logs && chown -R appuser:appuser /app
# Changement vers l'utilisateur non-root
USER appuser
# Exposition du port
EXPOSE 8000
# Healthcheck
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD curl -f http://localhost:8000/api/health || exit 1
# Commande de démarrage
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "4"]