BeginnerVector Database8 min read

Connect Chroma to Gateco

Connect Chroma (local or remote) to Gateco for policy-aware vector retrieval. Covers HTTP server setup, collection configuration, and identity-aware RAG access control.

Last updated: May 27, 2026

Prerequisites

  • A Chroma server (chromadb >= 0.4.0) running in HTTP client mode, or ChromaDB Cloud
  • A Chroma collection (or permission to create one)

Overview — 4 steps

  1. 1Run Chroma in HTTP server mode
  2. 2Create a collection
  3. 3Add the connector in Gateco
  4. 4Configure search settings

Chroma is an open-source embedding database designed for LLM applications. Gateco connects to Chroma as a Tier 2 connector, adding identity-aware retrieval and RAG access control to your Chroma collections. Chroma's strength is in prototype and development workflows; Gateco's policy layer can be added without changing your existing collection schema.

Chroma supports grep search (substring and regex via where_document) but not ranked keyword or hybrid search. For BM25 keyword or hybrid vector+text search, use a Postgres-based connector (Neon, Supabase, pgvector).

Step 1 — Run Chroma in HTTP server mode

Gateco connects to Chroma over HTTP. Start ChromaDB as a standalone server:

bash
pip install chromadb

# Start the Chroma HTTP server
chroma run --host 0.0.0.0 --port 8000 --path ./chroma-data

# For Docker:
docker run -p 8000:8000 chromadb/chroma

Use --host 0.0.0.0 to bind to all interfaces so Gateco can reach the server. For production, place Chroma behind a reverse proxy with TLS.

Step 2 — Create a collection

python
import chromadb

client = chromadb.HttpClient(host="localhost", port=8000)

collection = client.get_or_create_collection(
    name="my_docs",
    metadata={"hnsw:space": "cosine"},
)

# Add documents
collection.add(
    ids=["doc-001", "doc-002"],
    documents=["Quarterly report", "Engineering specs"],
    embeddings=[[0.1, 0.2, ...], [0.3, 0.4, ...]],
    metadatas=[{"classification": "confidential"}, {"classification": "internal"}],
)

Step 3 — Add the connector in Gateco

  1. Navigate to Connectors → Add connector → Chroma.
  2. Enter your Chroma server URL (e.g. http://your-host:8000).
  3. Enter an API token if your server has authentication enabled.
  4. Click Test connection.
  5. Click Save.
FieldExampleDescription
urlhttp://chroma.internal:8000Chroma HTTP server URL
collection_namemy_docsChroma collection name
api_keyyour-chroma-tokenAuthentication token (leave blank if auth disabled)

Step 4 — Configure search settings

  1. In Connectors, click your Chroma connector → Search config.
  2. Verify the collection name.
  3. Set the Content field name if your documents use a non-default metadata key for text content.
  4. Save.

Troubleshooting

ErrorCauseFix
connection refusedChroma not running or wrong portVerify chroma run is started and the port matches
collection not foundWrong collection nameCollection names are case-sensitive — check exact name
ValueError: could not connect to tenant default_tenantChroma version mismatchUpgrade chromadb to >= 0.4.0 and restart the server

Frequently asked questions

Can I connect Gateco to a local in-process ChromaDB instance?

No. Gateco requires ChromaDB running in HTTP server mode (chroma run --host 0.0.0.0 --port 8000). Local in-process clients (using chromadb.Client() without a host) are not reachable over the network. Start ChromaDB as a server and point Gateco at its HTTP endpoint.

Does Chroma support keyword or hybrid search with Gateco?

Chroma supports substring and regex grep search via its where_document filter. Gateco exposes this as search_mode: "grep". Ranked keyword search (BM25) and hybrid search are not supported in Chroma — for those modes, consider a Postgres-based connector. Grep search returns results matching the pattern, ranked by vector similarity among matches.

How do I enable authentication on my Chroma server?

Set CHROMA_SERVER_AUTHN_PROVIDER=chromadb.auth.token.TokenAuthServerProvider and CHROMA_SERVER_AUTH_CREDENTIALS=your-token when starting the Chroma server. Then enter the same token in the Gateco connector API key field. See the ChromaDB authentication documentation for details on token and basic auth options.

Ready to add policy-aware retrieval?

Connect your Chroma setup to Gateco in under 5 minutes.