ReplyFlow / Dockerfile
nvikou's picture
Fix HF startup: JSON store, local seed, non-blocking lifespan
a6e51ba verified
Raw History Blame Contribute Delete
1 kB
FROM python:3.12-slim
WORKDIR /app
# Hugging Face Spaces listens on 7860.
# JSON vector store + local seed embeddings (fast cold start).
ENV PORT=7860 \
PYTHONUNBUFFERED=1 \
APP_ENV=production \
DATABASE_URL=sqlite+aiosqlite:///./data/db/replyflow.db \
CHROMA_PATH=./data/chroma \
KNOWLEDGE_PATH=./data/knowledge \
USE_JSON_STORE=true \
SEED_LOCAL_EMBEDDINGS=true
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN mkdir -p /app/data/db /app/data/chroma /app/data/knowledge \
&& python seed_kb.py \
&& chmod -R 777 /app/data \
&& useradd -m -u 1000 user \
&& chown -R user:user /app
USER user
EXPOSE 7860
# Bind immediately; HF kills containers that do not open 7860.
CMD ["sh", "-c", \
"uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-7860}"]