FROM ubuntu:22.04 AS builder # Install build dependencies RUN apt-get update && apt-get install -y \ git \ cmake \ make \ g++ \ python3 \ python3-pip \ ffmpeg \ libavcodec-dev \ libavformat-dev \ libavutil-dev \ libswresample-dev \ && rm -rf /var/lib/apt/lists/* # Clone and build whisper.cpp RUN git clone https://github.com/ggerganov/whisper.cpp.git /whisper.cpp WORKDIR /whisper.cpp RUN make FROM ubuntu:22.04 AS runtime # Install runtime dependencies RUN apt-get update && apt-get install -y \ python3 \ python3-pip \ ffmpeg \ libavcodec-dev \ libavformat-dev \ libavutil-dev \ libswresample-dev \ && rm -rf /var/lib/apt/lists/* # Copy whisper.cpp executable COPY --from=builder /whisper.cpp/main /whisper.cpp/main # Create models directory and copy your local model RUN mkdir -p /whisper.cpp/models COPY model/ggml-tiny.en.bin /whisper.cpp/models/ggml-tiny.en.bin WORKDIR /whisper.cpp # Install Python dependencies RUN pip3 install flask flask-cors # Copy API server script COPY app.py . # Expose port EXPOSE 4002 # Run the server CMD ["python3", "app.py"]