meeting-agent-docker / Dockerfile
GFiaMon's picture
debug transcription 2
2b5fd52
# Use Python 3.11 slim as base image
FROM python:3.11-slim
# Prevent Python from writing pyc files and buffering stdout
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# Install system dependencies
# - ffmpeg: Required for Whisper audio processing
# - git: Required for installing some git-based pip packages
# - curl/nodejs: Required for running MCP servers (like Notion) via npx
# - build-essential: Required for compiling Python C extensions (critical for ML/Audio libs)
RUN apt-get update && apt-get install -y \
ffmpeg \
git \
curl \
build-essential \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& apt-get install -y patchelf \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Copy requirements file first to leverage Docker cache
COPY requirements.txt .
# Upgrade pip to ensure the latest resolver handles complex dependencies
RUN pip install --upgrade pip
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Fix for "cannot enable executable stack" error on HF Spaces
# Find all libctranslate2 shared objects (including in .libs dirs) and clear the executable stack flag
RUN find /usr/local/lib/python3.11/site-packages -name 'libctranslate2*.so*' -exec patchelf --clear-execstack {} \;
# Copy the rest of the application
COPY . .
# Expose the Gradio port
EXPOSE 7860
# Run the application
CMD ["python", "app.py"]