# syntax=docker/dockerfile:1.7 FROM python:3.13-slim-bookworm RUN useradd -m -u 1000 user ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ APP_HOST=0.0.0.0 \ APP_PORT=7860 \ CHROMA_HOST=127.0.0.1 \ CHROMA_PORT=8001 # Show defaults in build logs RUN echo "Build defaults:" && \ echo " APP_HOST=$APP_HOST" && \ echo " APP_PORT=$APP_PORT" && \ echo " CHROMA_HOST=$CHROMA_HOST (internal)" && \ echo " CHROMA_PORT=$CHROMA_PORT" USER user WORKDIR /home/user/app COPY --chown=user requirements.txt ./ RUN --mount=type=cache,target=/home/user/.cache/pip \ python -m pip install --no-cache-dir --upgrade -r requirements.txt COPY --chown=user app.py ./ COPY --chown=user start.sh ./ RUN chmod +x start.sh EXPOSE 7860 CMD ["/home/user/app/start.sh"]