Spaces:
Sleeping
Sleeping
FROM python:3.11-slim-bookworm AS builder | |
ARG REBUILD_HNSWLIB | |
RUN apt-get update --fix-missing && apt-get install -y --fix-missing \ | |
build-essential \ | |
gcc \ | |
g++ \ | |
cmake \ | |
autoconf && \ | |
rm -rf /var/lib/apt/lists/* && \ | |
mkdir /install | |
WORKDIR /install | |
COPY ./requirements.txt requirements.txt | |
RUN pip install --no-cache-dir --upgrade --prefix="/install" -r requirements.txt | |
RUN if [ "$REBUILD_HNSWLIB" = "true" ]; then pip install --no-binary :all: --force-reinstall --no-cache-dir --prefix="/install" chroma-hnswlib; fi | |
FROM python:3.11-slim-bookworm AS final | |
RUN mkdir -p /chroma | |
RUN chmod 777 /chroma | |
WORKDIR /chroma | |
COPY --from=builder /install /usr/local | |
COPY ./bin/docker_entrypoint.sh /docker_entrypoint.sh | |
COPY ./ /chroma | |
RUN chmod +x /docker_entrypoint.sh | |
ENV CHROMA_HOST_ADDR "0.0.0.0" | |
ENV CHROMA_HOST_PORT 7860 | |
ENV CHROMA_WORKERS 1 | |
ENV CHROMA_LOG_CONFIG "chromadb/log_config.yml" | |
ENV CHROMA_TIMEOUT_KEEP_ALIVE 30 | |
EXPOSE 7860 | |
ENTRYPOINT ["/docker_entrypoint.sh"] | |
CMD [ "--workers ${CHROMA_WORKERS} --host ${CHROMA_HOST_ADDR} --port ${CHROMA_HOST_PORT} --proxy-headers --log-config ${CHROMA_LOG_CONFIG} --timeout-keep-alive ${CHROMA_TIMEOUT_KEEP_ALIVE}"] |