diff --git a/docker-compose.server.example.yml b/docker-compose.server.example.yml index aa5c288ae71..e8aad9bdabb 100644 --- a/docker-compose.server.example.yml +++ b/docker-compose.server.example.yml @@ -6,8 +6,14 @@ networks: services: server: image: ghcr.io/chroma-core/chroma:latest + hostname: chromadb + container_name: chromadb environment: - IS_PERSISTENT=TRUE + - HOSTNAME="chromadb" + - CHROMA_WORKERS=4 + - TZ="UTC" + - ADDRESS=0.0.0.0 volumes: # Default configuration for persist_directory in chromadb/config.py # Currently it's located in "/chroma/chroma/" @@ -16,6 +22,12 @@ services: - 8000:8000 networks: - net + healthcheck: + test: curl http://127.0.0.1:8000/api/v2/heartbeat + interval: 12s + timeout: 3s + retries: 3 + start_period: 30s volumes: chroma-data: diff --git a/docker-compose.test-auth.yml b/docker-compose.test-auth.yml index 36faec10e4d..b20c9ee8478 100644 --- a/docker-compose.test-auth.yml +++ b/docker-compose.test-auth.yml @@ -7,7 +7,11 @@ services: build: context: . dockerfile: Dockerfile + hostname: chromadb + container_name: chromadb volumes: + # Default configuration for persist_directory in chromadb/config.py + # Currently it's located in "/chroma/chroma/" - chroma-data:/chroma/chroma command: "--workers 1 --host 0.0.0.0 --port 8000 --proxy-headers --log-config chromadb/log_config.yml --timeout-keep-alive 30" environment: diff --git a/docker-compose.test.yml b/docker-compose.test.yml index f08d2fd99d5..0d828e63a24 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -4,6 +4,12 @@ services: context: . dockerfile: ${DOCKERFILE:-Dockerfile} platform: ${PLATFORM:-linux/amd64} + hostname: chromadb + container_name: chromadb + volumes: + # Default configuration for persist_directory in chromadb/config.py + # Currently it's located in "/chroma/chroma/" + - chroma-data:/chroma/chroma/ command: "--workers 1 --host 0.0.0.0 --port 8000 --proxy-headers --log-config chromadb/log_config.yml --timeout-keep-alive 30" environment: - ANONYMIZED_TELEMETRY=False diff --git a/docker-compose.yml b/docker-compose.yml index 5608192cdc7..5b46ce53a67 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,23 +14,31 @@ services: # Uncomment below to build in release mode # args: # RELEASE_MODE: "1" + hostname: chromadb + container_name: chromadb volumes: - # The default config specifies a persist_directory of /data. - # Read more about deployments: https://docs.trychroma.com/deployment - - chroma-data:/data + # Default configuration for persist_directory in chromadb/config.py + # Currently it's located in "/chroma/chroma/" + - chroma-data:/chroma/chroma/ environment: + - CHROMA_WORKERS=4 # adjust base on expected workload - CHROMA_OPEN_TELEMETRY__ENDPOINT=${CHROMA_OPEN_TELEMETRY__ENDPOINT} - CHROMA_OPEN_TELEMETRY__SERVICE_NAME=${CHROMA_OPEN_TELEMETRY__SERVICE_NAME} - OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS} + - IS_PERSISTENT=TRUE + - HOSTNAME="chromadb" + - TZ="UTC" + - ADDRESS=0.0.0.0 restart: unless-stopped # possible values are: "no", always", "on-failure", "unless-stopped" ports: - "8000:8000" healthcheck: # Adjust below to match your container port test: [ "CMD", "curl", "-f", "http://localhost:8000/api/v2/heartbeat" ] - interval: 30s - timeout: 10s + interval: 10s + timeout: 3s retries: 3 + start_period: 32s networks: - net