ModalTranscriberMCP / Dockerfile
richard-su's picture
Upload Dockerfile with huggingface_hub
c88a159 verified
# Use Python 3.10.12 as base image
FROM python:3.10.12-slim
# Set environment variables
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PORT=7860 \
DEPLOYMENT_MODE=local \
HF_SPACES_MODE=1
# Create user for HF Spaces compatibility
RUN useradd -m -u 1000 user
# Set working directory
WORKDIR /app
# Update package list and install system dependencies from packages.txt
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
git \
wget \
curl \
unzip \
gnupg2 \
apt-transport-https \
ca-certificates \
lsb-release \
libglib2.0-0 \
libnss3 \
libatk-bridge2.0-0 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
libgbm1 \
libxss1 \
libasound2 \
libgtk-3-0 \
libx11-xcb1 \
libxcb-dri3-0 \
libgconf-2-4 \
chromium-driver \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements and install Python dependencies
COPY --chown=user requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copy source code
COPY --chown=user . /app
# Ensure user has full read/write permissions on /app directory
RUN chown -R user:user /app && \
chmod -R 755 /app && \
mkdir -p /app/cache /app/downloads /app/transcripts && \
chmod -R 777 /app/cache /app/downloads /app/transcripts
# Switch to user
USER user
# Set user environment
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PYTHONPATH=/app
# Create cache directory
RUN mkdir -p /home/user/.cache
# Expose port
EXPOSE 7860
# Start the application
CMD ["python", "app.py"]