Files
chroma/Dockerfile.windows
Jai Radhakrishnan 21ab6b823d [CHORE] remove hnsw-lib from core dependencies (#4385)
## 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)?_
2025-04-29 10:17:59 -07:00

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%"]