Configuration Reference

All backend configuration is provided via environment variables. Secrets are stored in AWS Secrets Manager (epsimoai-backend/secrets-s7LP8T) and injected into the ECS task at runtime.

Database

Variable Purpose Source Default Required
POSTGRES_DB Database name Env — Yes
POSTGRES_USER Database user Env — Yes
POSTGRES_PASSWORD Database password Secrets Manager — Yes
POSTGRES_HOST RDS hostname Env — Yes
POSTGRES_PORT Database port Env — Yes
DB_POOL_MIN_SIZE Min connection pool size Env 10 No
DB_POOL_MAX_SIZE Max connection pool size Env 50 No

Authentication

Variable Purpose Source Default Required
JWT_SECRET_KEY Symmetric key for HS256 JWT signing Secrets Manager — Yes
JWT_DECODE_KEY_B64 Base64-encoded JWT decode key (overrides JWT_SECRET_KEY) Secrets Manager — No
JWT_ALGORITHM JWT algorithm Env HS256 No
JWT_ISSUER JWT issuer claim Env epsimoai No
JWT_AUDIENCE JWT audience claim Env epsimoai No
GOOGLE_OAUTH_CLIENT_ID Google OAuth client ID Secrets Manager — Yes (for OAuth)
GOOGLE_OAUTH_SECRET_ID Google OAuth client secret Secrets Manager — Yes (for OAuth)
AUTH_TYPE Auth mode (noop, jwt) Env noop No
ADMIN_TOKEN Token for admin endpoints Secrets Manager — Yes

URLs

Variable Purpose Source Default Required
BACKEND_URL Public backend URL (used for OAuth callbacks) Env — Yes
FRONTEND_URL Public frontend URL (used for redirects) Env — Yes
CORS_ORIGINS Comma-separated allowed origins Env See defaults No

Default CORS origins: http://localhost:5173, http://localhost:3000, https://app.epsimoagents.com, https://chat.epsimoagents.com

LLM API Keys

Variable Purpose Source Default Required
OPENAI_API_KEY OpenAI API key (GPT-4o, embeddings, DALL-E) Secrets Manager — Yes
OPENAI_REQUEST_TIMEOUT OpenAI request timeout (seconds) Env 30.0 No
ANTHROPIC_API_KEY Anthropic API key (Claude models) Secrets Manager — No
GROQ_API_KEY Groq API key (Llama, Mixtral) Secrets Manager — No
DEEPSEEK_API_KEY DeepSeek API key Secrets Manager — No
GROK_API_KEY xAI Grok API key Secrets Manager — No
FIREWORKS_API_KEY Fireworks AI API key Secrets Manager — No
EPSIMO_AI_API_KEY EpsimoAI custom model key (Scaleway) Secrets Manager — No
SCW_SECRET_KEY Scaleway secret key (fallback for Epsimo LLM) Secrets Manager — No
PROXY_URL HTTP proxy for LLM requests Env — No
DEFAULT_LLM Default LLM model name Env GPT 4o No

Azure OpenAI (alternative to OpenAI)

Variable Purpose Source Default Required
AZURE_OPENAI_API_KEY Azure OpenAI key Secrets Manager — No
AZURE_OPENAI_API_BASE Azure endpoint URL Env — No
AZURE_OPENAI_DEPLOYMENT_NAME Deployment name Env — No
AZURE_OPENAI_API_VERSION API version Env — No

Search & Tools

Variable Purpose Source Default Required
TAVILY_API_KEY Tavily search API key Secrets Manager — No
YDC_API_KEY You.com Data API key Secrets Manager — No

Stripe (Payments)

Variable Purpose Source Default Required
STRIPE_PRIVATE_KEY Stripe secret key Secrets Manager — Yes
STRIPE_TOKEN_ID Stripe product ID for token purchases Env — Yes
STRIPE_ENDPOINT_SECRET Stripe webhook signing secret Secrets Manager — Yes

SMTP (Email)

Variable Purpose Source Default Required
SMTP_HOST SMTP server hostname Env smtp.gmail.com No
SMTP_PORT SMTP port Env 587 No
SMTP_USERNAME SMTP login username Secrets Manager — Yes
SMTP_PASSWORD SMTP login password Secrets Manager — Yes
SMTP_FROM_EMAIL Sender email address Env (same as username) No
SMTP_FROM_NAME Sender display name Env Epsimo AI No

Production uses Hostinger SMTP (smtp.hostinger.com:465).

Internal / Docs

Variable Purpose Source Default Required
INTERNAL_DOCS_TOKEN Token for accessing internal documentation Secrets Manager — No

LangChain / LangSmith (Tracing)

LangSmith tracing is configured via standard LangChain environment variables:

Variable Purpose Source Default Required
LANGCHAIN_TRACING_V2 Enable LangSmith tracing Env — No
LANGCHAIN_API_KEY LangSmith API key Secrets Manager — No
LANGCHAIN_PROJECT LangSmith project name Env — No
LANGCHAIN_ENDPOINT LangSmith endpoint URL Env — No

Frontend (Build-Time)

Variable Purpose Source Default Required
NEXT_PUBLIC_API_URL Backend API URL (baked at build) Build arg — Yes