File: //opt/chroma/run_chromadb.py
#!/usr/bin/env python3
import os
from dotenv import load_dotenv
import uvicorn
# Load .env file
load_dotenv('./.chroma_env')
# Get host and port
host = os.getenv('CHROMADB_HOST', 'localhost')
port = int(os.getenv('CHROMADB_PORT', '8481'))
# Set environment variables
os.environ["IS_PERSISTENT"] = "True"
os.environ["PERSIST_DIRECTORY"] = "./chroma_data"
os.environ["CHROMA_SERVER_NOFILE"] = "65535"
os.environ["CHROMA_CLI"] = "True"
# Import and run the FastAPI app directly
from chromadb.app import app
print(f"\033[1mRunning Chroma\033[0m")
print(f"\033[1mSaving data to\033[0m: \033[32m./chroma_data\033[0m")
print(f"\033[1mConnect to chroma at\033[0m: \033[32mhttp://{host}:{port}\033[0m")
print(f"\033[1mGetting started guide\033[0m: https://docs.trychroma.com/getting-started\n")
# Run uvicorn server
uvicorn.run(app, host=host, port=port, workers=1, log_config=None)