KairoDigital / Dockerfile
Surajkumaar's picture
Upload 2 files
d1c53fa verified
FROM python:3.12-slim
# Set working directory
WORKDIR /code
# Install system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
python3-dev \
&& rm -rf /var/lib/apt/lists/*
# Create necessary directories
RUN mkdir -p /code/data /code/data/model_cache /code/data/faiss_index /code/data/hf_cache
# Create a non-root user and set permissions
RUN useradd -m -u 1000 user && \
chown -R user:user /code && \
chmod -R 755 /code/data
# Switch to non-root user
USER user
# Copy requirements first for better cache
COPY --chown=user:user requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir --user -r requirements.txt \
&& pip install --no-cache-dir --user \
sentence-transformers \
langchain-community \
faiss-cpu
# Copy application code
COPY --chown=user:user . .
# Environment variables
ENV PYTHONUNBUFFERED=1
ENV HOST=0.0.0.0
ENV PORT=7860
ENV HF_HOME=/code/data/hf_cache
ENV SENTENCE_TRANSFORMERS_HOME=/code/data/model_cache
# Expose port for HF Spaces
EXPOSE 7860
# Run the application
CMD ["python", "app.py"]