CIC-Database / Dockerfile
ethnmcl's picture
Update Dockerfile
9ca4520 verified
FROM python:3.11-slim
# System deps
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential git && rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Python deps
COPY requirements.txt /app/
ENV PIP_NO_CACHE_DIR=1
RUN pip install --no-cache-dir -r requirements.txt
# App
COPY main.py /app/
# Set a sane HOME and Hugging Face caches to a writable, persistent location
ENV HOME=/app
ENV MODEL_NAME=BAAI/bge-small-en-v1.5
ENV TZ=America/New_York
# Hugging Face cache locations (avoid '/.cache' permission issues)
ENV MODEL_CACHE_DIR=/data/.cache
ENV HF_HOME=/data/.cache/huggingface
ENV TRANSFORMERS_CACHE=/data/.cache/huggingface/transformers
ENV SENTENCE_TRANSFORMERS_HOME=/data/.cache/sentence-transformers
# Ensure cache dirs exist and are writable
RUN mkdir -p /data/.cache/huggingface/transformers /data/.cache/sentence-transformers && \
chmod -R 777 /data
# Expose server port (Spaces sets $PORT)
ENV PORT=7860
EXPOSE 7860
# Run
CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port ${PORT} --workers 1"]