Spaces:
Configuration error
Configuration error
| # Dockerfile untuk RunPod Deployment | |
| FROM python:3.13-slim | |
| # Set labels untuk RunPod | |
| LABEL maintainer="abdan.hafidz@gmail.com" | |
| LABEL version="1.0" | |
| LABEL description="A.I Sakura Backend" | |
| # Install system dependencies | |
| RUN apt-get update && \ | |
| apt-get install -y \ | |
| ffmpeg \ | |
| curl \ | |
| wget \ | |
| git \ | |
| && apt-get clean \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Create app user | |
| RUN useradd -m -u 1001 appuser | |
| # Set working directory | |
| WORKDIR /rag_be | |
| # Environment variables untuk caching | |
| ENV HF_HOME=/src/.cache/huggingface | |
| ENV TRANSFORMERS_CACHE=/src/.cache/transformers | |
| ENV TORCH_HOME=/src/.cache/torch | |
| ENV XDG_CACHE_HOME=/src/.cache | |
| ENV TMPDIR=/tmp | |
| ENV WHISPER_CACHE_DIR=/src/.cache/whisper | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PYTHONDONTWRITEBYTECODE=1 | |
| # Copy requirements dan install dependencies | |
| COPY requirements.txt ./ | |
| RUN pip install --no-cache-dir --upgrade pip && \ | |
| pip install --no-cache-dir --upgrade -r requirements.txt && \ | |
| pip uninstall torch torchvision torchaudio -y && \ | |
| pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126 | |
| # Copy application code | |
| COPY --chown=appuser:appuser . /rag_be | |
| # Create necessary directories dengan permissions yang tepat | |
| RUN mkdir -p \ | |
| /src/.cache/whisper \ | |
| /src/.cache/huggingface \ | |
| /src/.cache/transformers \ | |
| /src/.cache/torch \ | |
| /rag_be/data/vectorstore \ | |
| /rag_be/data/documents \ | |
| /rag_be/logs && \ | |
| chown -R appuser:appuser /src /rag_be && \ | |
| chmod -R 755 /src /rag_be | |
| # Health check untuk RunPod | |
| HEALTHCHECK --interval=30s --timeout=30s --start-period=60s --retries=3 \ | |
| CMD curl -f http://localhost:7860/health || exit 1 | |
| # Switch to non-root user | |
| USER appuser | |
| # Expose ports | |
| EXPOSE 7860 | |
| # Default command - dapat di-override oleh RunPod | |
| CMD ["python", "main.py", "--mode", "rtc-cs-ui", "--port", "7860"] | |