3

I am working on a project where i want to save the embeddings in vector database. need some help or resources to deploy chroma db for production use

ankitmhjn5
  • 89
  • 5

1 Answers1

0

Update 1

On GCP or any other platform, you can start a new instance. Install docker and docker compose. Then run the following docker compose file. The Chroma db will be up and running. You can then access the db at external-ip:8000

# docker-compose.yml
version: '3.3'

services:
    server:
        image: ghcr.io/chroma-core/chroma:latest
        volumes:
            - index_data:/index_data
        environment:
            - CHROMA_DB_IMPL=clickhouse
            - CLICKHOUSE_HOST=clickhouse
            - CLICKHOUSE_PORT=8123
        ports:
            - 8000:8000
        depends_on:
            - clickhouse
    
    clickhouse:
        image: clickhouse/clickhouse-server:22.9-alpine
        environment:
            - ALLOW_EMPTY_PASSWORD=yes
            - CLICKHOUSE_TCP_PORT=9000
            - CLICKHOUSE_HTTP_PORT=8123
        ports:
            - '8123:8123'
            - '9000:9000'
        volumes:
            - clickhouse_data:/bitnami/clickhouse
            - backups:/backups
            - ./config/backup_disk.xml:/etc/clickhouse-server/config.d/backup_disk.xml
            - ./config/chroma_users.xml:/etc/clickhouse-server/users.d/chroma.xml

volumes:
    clickhouse_data:
        driver: local
    index_data:
        driver: local
    backups:
        driver: local

also create config/chroma_users.xml file

<clickhouse>
    <profiles>
        <default>
            <allow_experimental_lightweight_delete>1</allow_experimental_lightweight_delete>
            <mutations_sync>1</mutations_sync>
        </default>
    </profiles>
</clickhouse>

Original answer

As of right now, chroma team has only published details about how to deploy db on AWS https://docs.trychroma.com/deployment. But it is in alpha and uses AWS EC2 to deploy the db.

I did some research on deploying the db with Kubernetes. You can use the docker image to create the deployment https://github.com/chroma-core/chroma/pkgs/container/chroma. It is one option, but I haven't tested it out yet. I am working on it, will update.

Moiz Husnain
  • 50
  • 11