File size: 878 Bytes
c6b0fdb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Image légère et stable ; Python 3.11 respecte le prérequis Python >= 3.9.
FROM python:3.11-slim

# Tous les chemins suivants sont relatifs à /app dans le conteneur.
WORKDIR /app
# ffmpeg est requis par librosa/audioread pour décoder les fichiers MP3 annoncés par l'API.
RUN apt-get update \
    && apt-get install --no-install-recommends -y ffmpeg \
    && rm -rf /var/lib/apt/lists/*
# Copier puis installer les dépendances avant le code optimise le cache de construction Docker.
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Le reste du projet est ajouté après les dépendances, car il change plus souvent.
COPY . .

# Documente le port exposé par Uvicorn ; docker-compose le publie vers la machine hôte.
EXPOSE 8000
# Démarre l'API REST au lancement du conteneur.
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "8000"]