Skip to content

Environment Variables

All Selu configuration is done through environment variables, typically set in your .env file alongside docker-compose.yml. This page lists every available variable.

These must be set for Selu to start:

VariableDescription
SELU_SECRET_KEYMaster encryption key for credentials. Use a random string of at least 32 characters.
POSTGRES_PASSWORDPassword for the PostgreSQL database.
VariableDescriptionDefault
SELU_PORTPort the Selu dashboard listens on3000
SELU_HOSTHostname or IP to bind to0.0.0.0
SELU_BASE_URLPublic URL of your Selu instance (used for webhooks)http://localhost:3000
SELU_LOG_LEVELLogging verbosity: debug, info, warn, errorinfo
VariableDescriptionDefault
DATABASE_URLFull PostgreSQL connection string (overrides individual vars)
POSTGRES_HOSTDatabase hostnameselu-db
POSTGRES_PORTDatabase port5432
POSTGRES_DBDatabase nameselu
POSTGRES_USERDatabase usernamepostgres
POSTGRES_PASSWORDDatabase password
VariableDescriptionDefault
TELEGRAM_BOT_TOKENTelegram bot token (alternative to setting it in the dashboard)
BLUEBUBBLES_URLBlueBubbles server URL for iMessage
BLUEBUBBLES_PASSWORDBlueBubbles server password
VariableDescriptionDefault
ANTHROPIC_API_KEYAnthropic API key
OPENAI_API_KEYOpenAI API key
AWS_ACCESS_KEY_IDAWS access key for Bedrock
AWS_SECRET_ACCESS_KEYAWS secret key for Bedrock
AWS_REGIONAWS region for Bedrockus-east-1
OLLAMA_BASE_URLOllama server URLhttp://host.docker.internal:11434
VariableDescriptionDefault
SELU_AGENT_NETWORKDocker network name for agent containersselu-agents
SELU_AGENT_TIMEOUTDefault gRPC timeout for agent calls (seconds)30
SELU_AGENT_MAX_MEMORYMemory limit per agent container512m
VariableDescriptionDefault
SELU_SESSION_IDLE_TIMEOUTIdle timeout before a session expires (minutes)30
SELU_SESSION_MAX_HISTORYMaximum messages kept in session context100

Place your .env file in the same directory as docker-compose.yml. Docker Compose picks it up automatically:

Terminal window
SELU_SECRET_KEY=a1b2c3d4e5f6...
POSTGRES_PASSWORD=my-strong-password
SELU_BASE_URL=https://selu.example.com
SELU_LOG_LEVEL=info

You can also set variables directly in the docker-compose.yml under the environment key, but the .env file is cleaner for most setups.