# Analyse-Basis zum Selbsthosten: Essentia (TensorFlow-Build, PyPI), librosa und die Analyse-Module dieses Ordners
# (audio_features, semantic, energie_modell) unter /code – dort sucht sie der Arbeiter (Dockerfile.arbeiter, PYTHONPATH).
#
#   docker build -t timbre-analyse-basis:local analyse/
#   docker compose -f docker-compose.selbst.yml --profile analyse up -d --build
#
# Gleiche Pakete und Versionen wie die Basis des gehosteten Dienstes, damit Analysen vergleichbar bleiben. Die
# Modellgewichte gehören NICHT hinein: werkzeuge/modelle_laden.py lädt sie, der Arbeiter liest sie aus /models.
FROM python:3.11-slim@sha256:673719e071ecf27434fd2635bbd8d00f49f4fdd81f243143438a42ced8bedf60
RUN apt-get update && apt-get install -y --no-install-recommends \
      ffmpeg libsndfile1 ca-certificates \
    && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir essentia-tensorflow==2.1b6.dev1110 numpy==1.26.4 \
      scipy==1.13.1 librosa==0.10.2.post1 psycopg2-binary==2.9.10 mutagen==1.47.0 \
      httpx==0.28.1 cryptography==44.0.0
COPY audio_features.py semantic.py energie_modell.py /code/
WORKDIR /app
