vt / Dockerfile
Raí Santos
feat: Complete optimization with 3 bugs fixed + backend-only
2e52adb
# Build React Frontend
FROM node:18-slim AS builder
WORKDIR /app/frontend
COPY frontend/package*.json ./
RUN npm install
COPY frontend/ ./
RUN npm run build
# Final Stage: Python Backend
FROM python:3.10-slim
# Install system dependencies
RUN apt-get update && apt-get install -y \
ffmpeg \
gcc \
python3-dev \
git \
libsndfile1 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Create necessary directories
RUN mkdir -p /app/uploads /app/models /app/frontend/dist
RUN chmod -R 777 /app
# Upgrade pip and install build tools
RUN pip install --no-cache-dir --upgrade pip setuptools wheel Cython
# Install Torch CPU specifically (Essential for HF Spaces CPU tier)
RUN pip install --no-cache-dir torch==2.5.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cpu
# Install remaining dependencies (WhisperX will pull its required pyannote version here)
COPY backend/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy backend source
COPY backend/ .
# Copy frontend build from builder stage
COPY --from=builder /app/frontend/dist /app/frontend/dist
# Metadata for HF
ENV HOME=/app
ENV PYTHONUNBUFFERED=1
EXPOSE 7860
CMD ["python", "main.py"]