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 |
| 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 |
Related Pages