44 lines
1.3 KiB
Docker
44 lines
1.3 KiB
Docker
# Lightweight Python base image (no GPU/PyTorch needed)
|
|
FROM python:3.11-slim
|
|
|
|
# Labels
|
|
LABEL maintainer="Jacob Schmieder"
|
|
LABEL email="Jacob.Schmieder@dbfz.de"
|
|
LABEL version="0.1.1.dev"
|
|
LABEL description="Scraibe: LocalAI-backed transcription and diarization client with summarization. \
|
|
Sends audio to a LocalAI server running vibevoice.cpp and uses a second LLM for summarization."
|
|
LABEL url="https://github.com/JSchmie/ScrAIbe"
|
|
|
|
# Install system dependencies (ffmpeg required)
|
|
RUN apt update -y && \
|
|
apt install -y --no-install-recommends ffmpeg && \
|
|
apt clean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
# Working directory
|
|
WORKDIR /app
|
|
|
|
# Environment variables for LocalAI (transcription/diarization)
|
|
# Set these via docker run -e or docker-compose
|
|
ENV LOCALAI_API_URL=http://localhost:8080
|
|
ENV LOCALAI_API_KEY=
|
|
ENV LOCALAI_MODEL=vibevoice-diarize
|
|
|
|
# Environment variables for Summarizer LLM
|
|
ENV SUMMARIZER_API_URL=http://localhost:8080
|
|
ENV SUMMARIZER_API_KEY=
|
|
ENV SUMMARIZER_MODEL=llama-3.1-8b-instruct
|
|
|
|
# Copy and install Python dependencies
|
|
COPY requirements.txt /app/requirements.txt
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application code
|
|
COPY scraibe /app/scraibe
|
|
|
|
# Expose port (if UI is served)
|
|
EXPOSE 7860
|
|
|
|
# Run the application
|
|
ENTRYPOINT ["python3", "-m", "scraibe.cli"]
|