13 Commits

Author SHA1 Message Date
Peter Solimine
d609804198 update dockerfile to include a version of gcc that supports C++11 (#738)
## Description of changes

*Summarize the changes made by this PR.*
 - Improvements & Bug fixes
	 - Fixes #721 
- The remote image was not building properly because hnswlib needed a
version of gcc that supported C++11
 - New functionality
- Added `gcc` and `g++` to the list of installed packages in the builder
image. This enables hnswlib to build properly.

## Test plan
*How are these changes tested?*
I recommend building the Docker image and running a container from it to
ensure that everything runs smoothly.

## Documentation Changes
*Are all docstrings for user-facing APIs updated if required? Do we need
to make documentation changes in the [docs
repository](https://github.com/chroma-core/docs)?*

No documentation changes are needed. However, it might be useful to
build and push these changes to the image:
`ghcr.io/chroma-core/chroma:latest` to resolve any issues with the
`docker-compose.server.example.yml` file.

Co-authored-by: Jeff Huber <jeff@trychroma.com>
2023-07-24 08:58:44 -07:00
Hammad Bashir
46de47945a SQLite Release PR (#808)
## Description of changes
Base PR to release sqlite refactor, which spans many stacked PRs.

Remaining
- [x] Merge this to main
- [x] Layered Persistent Index #761 
- [x] Remove old impls (In #781 )
- [x] Remove persist() API (In #787)
- [x] Add telemetry to SegmentAPI, it was not included. (#788)
- [x] New clients #805 
- [x] locking and soak tests for thread-safety 
- [x] Migration tool
- [x] Fix #739 
- [x] Fix metadata None vs empty
- [x] Fix persist directory (addressed in #761)
- [x] Leave files open in #761 (merge stacked PR)

Post Release
- [ ] Un xfail cross version tests once we cut the release
- [x] Documentation updates for new silent ADD failure.
- [x] Update all documentation for new API instantiation
- [x] Update all documentation for settings changes
- [ ] Update terraform deployment
- [ ] Update cloudformation deployment

---------

Co-authored-by: Luke VanderHart <luke@vanderhart.net>
Co-authored-by: Jeffrey Huber <jeff@trychroma.com>
Co-authored-by: Anton Troynikov <atroyn@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Sosa <37946988+CakeCrusher@users.noreply.github.com>
Co-authored-by: Russell Pollari <russell@sharpestminds.com>
Co-authored-by: russell-pollari <pollarir@mgail.com>
2023-07-17 14:21:34 -07:00
perryrobinson
c3b397dfc4 #642 - Fix for hnswlib docker build issues (#690)
I have seen this issue on WSL2, mac, and linux. Sometimes one of the
dependencies for build-essential can't be retrieved and this flag should
fix this problem. Add --fix-missing flags to address periodically
failing hnswlib (build-essential is needed for hnswlib) installs during
docker builds.

## Description of changes

Add --fix-missing flags to address periodically failing hnswlib failures
during docker builds

## Test plan
Build the docker image, should build successfully. Would be helpful to
get the people who reported this issue to test out this fix since it can
be difficult to replicate if you have never had build issues.

## Documentation Changes
N/A

Co-authored-by: perry <perryaws2021@protonmail.com>
2023-06-23 09:48:18 -07:00
perryrobinson
d88860bbc5 Fix docker compose persistence issue and use multistage builder pattern to shrink chroma docker image (#456)
## Description of changes

Clickhouse data was being saved in an anonymous volume. Anonymous
volumes are not removed by default. However, as they don’t have a stable
name, they will not be automatically mounted by a subsequent `docker
compose up`. For data that needs to persist between updates, use
explicit paths as bind mounts or named volumes.
https://docs.docker.com/engine/reference/commandline/compose_down/#usage

The yaml in the repo makes it look like
clickhouse_data:/bitnami/clickhouse is where the data is supposed to go
but that isn't what's happening.

Modified Dockerfile to use multistage builder pattern to shrink the
docker image. The new image is 800MB smaller than the official chroma
image.

## Test plan

Build image locally. Unit tests all passed. Data persists after bringing
compose stack down and up. No actual chroma code change in this PR.
![chroma new
image](https://user-images.githubusercontent.com/52208818/235955676-bf5bf058-e02c-47e8-8c0b-6638d671280b.png)

## Documentation Changes

None required.

---------

Co-authored-by: perry <perryaws2021@protonmail.com>
Co-authored-by: Jeffrey Huber <jeff@trychroma.com>
2023-05-15 16:08:25 -07:00
Luke VanderHart
b92b3196e6 rebuild hnswlib on Docker launch 2023-02-17 12:28:33 -08:00
Luke VanderHart
f2269cbb1e docker image code location was incorrect 2023-02-14 17:23:01 -08:00
Jeffrey Huber
0e803a937f many changes 2023-02-08 06:23:23 -08:00
Luke VanderHart
34f142b6db don't specify architecture in Dockerfile 2022-12-03 21:23:02 -05:00
Luke VanderHart
73b8575309 run integration tests 2022-12-03 20:35:59 -05:00
Jeffrey Huber
55b007523b switch to arm, we will want to make this a flag 2022-12-01 22:14:26 -08:00
Jeffrey Huber
f1f914532e get running with docker' 2022-11-30 23:36:03 -08:00
Luke VanderHart
05e862de9b update fastapi APIs & fix tests 2022-11-28 23:11:15 -05:00
Luke VanderHart
d9dfd089fb major refactorings WIP 2022-11-24 00:17:24 -05:00