mirror of
https://github.com/chroma-core/chroma.git
synced 2026-10-12 02:12:06 +00:00
## Description of changes https://github.com/chroma-core/chroma/issues/4382#issue-3020402184 this PR removes hnsw-lib from core dependencies, removes it from the dockerfile, and moves it to dev dependencies in pyproject ## Test plan _How are these changes tested?_ - [ ] Tests pass locally with `pytest` for python, `yarn test` for js, `cargo test` for rust ## Documentation Changes _Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the [docs section](https://github.com/chroma-core/chroma/tree/main/docs/docs.trychroma.com)?_
27 lines
1.3 KiB
Docker
27 lines
1.3 KiB
Docker
FROM python:3.11.9
|
|
ARG REBUILD_HNSWLIB
|
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
|
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; `Invoke-WebRequest "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"; `Start-Process -filepath C:\vc_redist.x64.exe -ArgumentList "/install", "/passive", "/norestart" -Passthru | Wait-Process; `Remove-Item -Force vc_redist.x64.exe;
|
|
|
|
WORKDIR C:\\chroma
|
|
|
|
COPY ./requirements.txt requirements.txt
|
|
COPY ./requirements_dev.txt requirements_dev.txt
|
|
|
|
RUN pip install --no-cache-dir --upgrade -r requirements.txt
|
|
RUN pip install --no-cache-dir --upgrade -r requirements_dev.txt
|
|
RUN if ($env:REBUILD_HNSWLIB -eq 'true') { pip install --no-binary :all: --force-reinstall --no-cache-dir chroma-hnswlib }
|
|
|
|
COPY ./bin/docker_entrypoint.ps1 C:\\docker_entrypoint.ps1
|
|
COPY ./ C:\\chroma
|
|
|
|
ENV CHROMA_HOST_ADDR "0.0.0.0"
|
|
ENV CHROMA_HOST_PORT 8000
|
|
ENV CHROMA_WORKERS 1
|
|
ENV CHROMA_LOG_CONFIG "chromadb/log_config.yml"
|
|
ENV CHROMA_TIMEOUT_KEEP_ALIVE 30
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["powershell", "C:\\\\docker_entrypoint.ps1"]
|
|
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%"]
|