.env.example: template with all required variables. Copy it to.env.developmentor.env.productionand fill in real values..env.development: used for local development together withdocker-compose.dev.yml..env.production: used for production / remote deployment together withdocker-compose.yml.
OPENROUTER_API_KEY/OPENAI_API_KEY: API key(s) for your LLM provider (OpenRouter / OpenAI).OPENROUTER_MODEL_DEFAULT: default model used by the frontend when calling the LLM.FRONTEND_ORIGIN: base URL where the frontend is served (e.g.http://localhost:3000or your production domain).LIVEKIT_URL: WebSocket URL of the LiveKit server used for audio/video sessions.LIVEKIT_API_KEY/LIVEKIT_API_SECRET: credentials for authenticating against LiveKit.POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB: Postgres credentials and database name.TONE_MODELS_DIR: path to the T-One STT models directory used bystt_service.DATABASE_URL: full Postgres connection string used by judge, auth, and agent services.AUTH_JWT_SECRET: secret key for signing auth JWT tokens (must be strong in production).AUTH_TOKEN_TTL_HOURS: lifetime of issued auth tokens in hours.LLM_PROVIDER: which LLM backend to use (openrouterorollama).OPENROUTER_BASE_URL: base URL for the OpenRouter API.JUDGE_OPENROUTER_MODEL: OpenRouter model used byjudge_service.AGENT_OPENROUTER_MODEL: OpenRouter model used byagent_service.JUDGE_OLLAMA_BASE_URL/JUDGE_OLLAMA_MODEL: Ollama base URL and model used byjudge_service.AGENT_OLLAMA_BASE_URL/AGENT_OLLAMA_MODEL: Ollama base URL and model used byagent_service.
- Install Ollama on your machine and pull a model, for example:
ollama pull qwen2:7b-instruct-q4_K_M
- Set env vars in
.env.developmentor.env.production:LLM_PROVIDER=ollamaOLLAMA_BASE_URL=http://host.docker.internal:11434(or your Ollama host)OLLAMA_MODELto the model name you pulled (e.g.qwen2:7b-instruct-q4_K_M)
- Restart Docker services so
judge_serviceandagent_servicepick up the new configuration.
- File locations:
livekit/livekit.dev.yaml: used bydocker-compose.dev.ymlfor local development.livekit/livekit.yaml: used bydocker-compose.ymlfor production.
- Ports:
port: HTTP/WebSocket signaling port (matches7880indocker-compose*).rtc.port_range_start/rtc.port_range_end: UDP port range for media (exposed in docker).rtc.tcp_port(prod only): TCP fallback port for WebRTC (matches7881indocker-compose.yml).
- Networking / TURN:
rtc.use_external_ip/rtc.node_ip: how the node advertises its IP in ICE candidates.turn.enabled,turn.udp_port,turn.domain: built-in TURN server for clients that cannot use direct UDP.
- Auth keys:
keys: API key / secret pairs; must matchLIVEKIT_API_KEY/LIVEKIT_API_SECRETin your env files.
https://drive.google.com/drive/folders/1VPnN8XAr2ads2HqjbrIMEPqXgaOvNW4u?usp=sharing
source .env.developmentdocker compose -f docker-compose.dev.yml up -dsource .env.productiondocker compose up -d