FROM ghcr.io/ggml-org/whisper.cpp:main AS whispercpp

FROM beveradb/audio-separator:latest

USER root

RUN apt-get update \
 && apt-get install -y --no-install-recommends curl jq ffmpeg ca-certificates \
 && rm -rf /var/lib/apt/lists/*

COPY --from=whispercpp /app /opt/whispercpp

RUN find /opt/whispercpp -type f \( -name "*.so" -o -name "*.so.*" \) \
      -exec dirname {} \; \
    | sort -u \
    > /etc/ld.so.conf.d/whispercpp.conf \
 && ldconfig

ENV PATH="/opt/whispercpp/build/bin:${PATH}"

COPY karaoke.sh /usr/local/bin/karaoke
RUN chmod 0755 /usr/local/bin/karaoke

WORKDIR /workdir
ENTRYPOINT ["/usr/local/bin/karaoke"]
