Mery3391/YAMNET
0
1FROM python:3.13-slim2 3# cache bust 2026-05-10-v44WORKDIR /app5 6# ── 1. Dépendances système ──────────────────────────7RUN apt-get update && apt-get install -y \8 libsndfile1 \9 ffmpeg \10 && rm -rf /var/lib/apt/lists/*11 12# ── 2. pip install EN PREMIER (layer mis en cache) ──13COPY requirements.txt .14RUN pip install --no-cache-dir setuptools && \15 pip install --no-cache-dir -r requirements.txt \16 --timeout 1000 \17 --retries 10 && \18 # Patch tensorflow_hub : remplace pkg_resources par importlib.metadata19 python -c "\20import site, os; \21path = os.path.join(site.getsitepackages()[0], 'tensorflow_hub', '__init__.py'); \22content = open(path).read(); \23content = content.replace('from pkg_resources import parse_version', 'from importlib.metadata import version as _v; parse_version = lambda s: tuple(int(x) for x in s.split(\".\") if x.isdigit())'); \24open(path, 'w').write(content); \25print('tensorflow_hub patched OK')"26 27# ── 3. Code source ──────────────────────────────────28# ✅ AJOUTE database.py ICI !29COPY database.py .30COPY main.py .31COPY predict.py .32COPY frontend/ ./frontend/33 34# ── 4. Modèles ML (montés via volumes en local) ─────35COPY scaler_yamnet.pkl .36COPY model_yamnet_darija.keras .37 38# maroc.jpg et logo.jpg → volumes docker-compose, pas copiés39 40EXPOSE 800041 42CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]