Skip to main content

Environment Variables

Conduit can be configured using environment variables, which is particularly useful for Docker and production deployments. This guide provides a comprehensive reference for all available environment variables.

Core Configuration

VariableDescriptionDefaultExample
CONDUIT_MASTER_KEYMaster key for admin access(Required)your-secure-master-key
CONDUIT_HOSTHost to bind the HTTP serverlocalhost0.0.0.0
CONDUIT_PORTPort for the HTTP server50008080
CONDUIT_WEBUI_PORTPort for the Web UI50018081
CONDUIT_ENVIRONMENTApplication environmentDevelopmentProduction
CONDUIT_LOG_LEVELLogging verbosityInformationDebug, Warning, Error

Database Configuration

VariableDescriptionDefaultExample
CONDUIT_DATABASE_TYPEDatabase typeSQLitePostgreSQL, SQLite
CONDUIT_DATABASE_PATHPath for SQLite database./data/conduit.db/data/conduit.db
CONDUIT_CONNECTION_STRINGDatabase connection string(Generated)Data Source=/data/conduit.db
CONDUIT_DB_HOSTPostgreSQL hostnamelocalhostdb.example.com
CONDUIT_DB_PORTPostgreSQL port54325433
CONDUIT_DB_NAMEPostgreSQL database nameconduitmydb
CONDUIT_DB_USERPostgreSQL usernamepostgresdbuser
CONDUIT_DB_PASSWORDPostgreSQL password(Empty)password123

Cache Configuration

VariableDescriptionDefaultExample
CONDUIT_CACHE_ENABLEDEnable response cachingfalsetrue
CONDUIT_CACHE_TYPECache providerInMemoryRedis
CONDUIT_REDIS_ENABLEDEnable Redis cachefalsetrue
CONDUIT_REDIS_CONNECTIONRedis connection stringlocalhost:6379redis:6379,password=xyz
CONDUIT_CACHE_TTLDefault cache TTL in seconds36007200
CONDUIT_CACHE_MAX_SIZEMax size for in-memory cache (MB)10242048

Security Configuration

VariableDescriptionDefaultExample
CONDUIT_RATE_LIMIT_ENABLEDEnable global rate limitingtruefalse
CONDUIT_RATE_LIMIT_WINDOWRate limit window in seconds60120
CONDUIT_RATE_LIMIT_MAXMax requests per window100500
CONDUIT_CORS_ENABLEDEnable CORStruefalse
CONDUIT_CORS_ORIGINSAllowed CORS origins*https://app.example.com
CONDUIT_SECURE_HEADERSEnable security headerstruefalse

Router Configuration

VariableDescriptionDefaultExample
CONDUIT_ROUTER_STRATEGYDefault routing strategySimplePriority, LeastCost
CONDUIT_FALLBACK_ENABLEDEnable fallback routingtruefalse
CONDUIT_HEALTH_CHECK_ENABLEDEnable provider health checkstruefalse
CONDUIT_HEALTH_CHECK_INTERVALHealth check interval in seconds30060

Provider Configuration

VariableDescriptionDefaultExample
CONDUIT_OPENAI_API_KEYOpenAI API key(Empty)sk-...
CONDUIT_ANTHROPIC_API_KEYAnthropic API key(Empty)sk-ant-...
CONDUIT_AZURE_OPENAI_API_KEYAzure OpenAI API key(Empty)...
CONDUIT_AZURE_OPENAI_ENDPOINTAzure OpenAI endpoint(Empty)https://...
CONDUIT_GOOGLE_API_KEYGoogle API key(Empty)...
CONDUIT_AWS_ACCESS_KEYAWS access key ID(Empty)AKIA...
CONDUIT_AWS_SECRET_KEYAWS secret access key(Empty)...
CONDUIT_AWS_REGIONAWS regionus-east-1eu-west-1

Using Environment Variables

Docker Compose

version: '3'
services:
conduit-api:
image: ghcr.io/knnlabs/conduit-http:latest
environment:
- CONDUIT_MASTER_KEY=your-secure-key
- CONDUIT_HOST=0.0.0.0
- CONDUIT_PORT=5000
- CONDUIT_CACHE_ENABLED=true
- CONDUIT_REDIS_CONNECTION=redis:6379

Docker Run

docker run -p 5000:5000 \
-e CONDUIT_MASTER_KEY=your-secure-key \
-e CONDUIT_HOST=0.0.0.0 \
-e CONDUIT_CACHE_ENABLED=true \
ghcr.io/knnlabs/conduit-http:latest

Environment File

You can also use a .env file:

CONDUIT_MASTER_KEY=your-secure-key
CONDUIT_HOST=0.0.0.0
CONDUIT_PORT=5000
CONDUIT_CACHE_ENABLED=true

Next Steps