Spaces:
Sleeping
Sleeping
File size: 1,791 Bytes
1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea 1e732dd 9699bea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # ===========================================================================
# MediGuard AI — Hugging Face Spaces Dockerfile
# ===========================================================================
# Optimized single-container deployment for Hugging Face Spaces.
# Uses FAISS vector store + Cloud LLMs (Groq/Gemini) - no external services.
# ===========================================================================
FROM python:3.11-slim
# Non-interactive apt
ENV DEBIAN_FRONTEND=noninteractive
# Python settings
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1
# HuggingFace Spaces runs on port 7860
ENV GRADIO_SERVER_NAME="0.0.0.0" \
GRADIO_SERVER_PORT=7860
# Default to HuggingFace embeddings (local, no API key needed)
ENV EMBEDDING_PROVIDER=huggingface
WORKDIR /app
# System dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements first (cache layer)
COPY huggingface/requirements.txt ./requirements.txt
RUN pip install --upgrade pip && \
pip install -r requirements.txt
# Copy the entire project
COPY . .
# Create necessary directories and ensure vector store exists
RUN mkdir -p data/medical_pdfs data/vector_stores data/chat_reports
# Create non-root user (HF Spaces requirement)
RUN useradd -m -u 1000 user
# Make app writable by user
RUN chown -R user:user /app
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR /app
EXPOSE 7860
# Health check
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
CMD curl -sf http://localhost:7860/ || exit 1
# Launch Gradio app
CMD ["python", "huggingface/app.py"]
|