Repository navigation
Configuration Reference
All configuration is done through environment variables in the .env file. Copy .env.example to .env before first run.
cp .env.example .env
nano .env| Variable | Description | Default | Required |
|---|---|---|---|
AUTOBOT_SECRET_KEY |
JWT signing key — generate with openssl rand -hex 32
|
— | Yes |
AUTOBOT_ENV |
Runtime environment: development, production
|
production |
No |
AUTOBOT_DEBUG |
Enable debug mode and verbose logging | false |
No |
AUTOBOT_ADMIN_USERNAME |
Username for the first admin account seeded at startup | admin |
No |
AUTOBOT_ADMIN_PASSWORD |
Password for that first admin — change before deploying | changeme |
Yes |
Multi-user: These variables only seed the initial admin. AutoBot is a multi-user platform with role-based access control (RBAC) — additional users and their roles are created and managed in-app after first login, not through environment variables. Single-user mode is retired.
| Variable | Description | Default |
|---|---|---|
POSTGRES_HOST |
PostgreSQL hostname | autobot-database |
POSTGRES_PORT |
PostgreSQL port | 5432 |
POSTGRES_DB |
Database name | autobot |
POSTGRES_USER |
Database user | autobot |
POSTGRES_PASSWORD |
Database password | autobot |
DATABASE_URL |
Full connection string (overrides individual settings) | — |
| Variable | Description | Default |
|---|---|---|
REDIS_HOST |
Redis hostname | redis |
REDIS_PORT |
Redis port | 6379 |
REDIS_PASSWORD |
Redis password (leave empty for no auth) | — |
REDIS_DB |
Redis database number | 0 |
| Variable | Description | Default |
|---|---|---|
CHROMA_HOST |
ChromaDB hostname | chromadb |
CHROMA_PORT |
ChromaDB port | 8001 |
CHROMA_COLLECTION |
Default collection name | autobot |
AutoBot routes all inference through an LLM gateway. You choose the backend: local inference via Ollama, an external provider, or a mix with fallback. The variables below configure local inference; provider selection and credentials are described under LLM Gateway & Providers.
| Variable | Description | Default |
|---|---|---|
OLLAMA_HOST |
Ollama server hostname | autobot-ai-stack |
OLLAMA_PORT |
Ollama port | 11434 |
OLLAMA_MODEL |
Default model for chat | llama3 |
OLLAMA_EMBED_MODEL |
Model used for embeddings | nomic-embed-text |
LLM_CONTEXT_WINDOW |
Max context tokens | 4096 |
LLM_MAX_TOKENS |
Max tokens per response | 2048 |
LLM_TEMPERATURE |
Model temperature (0.0–1.0) | 0.7 |
In addition to local Ollama, the gateway can route requests to external providers such as claude_api and openrouter, with fallback between them. Provider selection and API credentials are configured through the gateway's provider settings.
- Local only: leave providers unconfigured — inference stays on the host and nothing is sent externally.
- External / hybrid: configure the desired provider and its API key to enable routing and fallback.
Exact provider variable names depend on your build — check
.env.exampleand the in-app model/provider settings for the authoritative list. Your data stays on your infrastructure; a provider is contacted only if you configure one.
Any model supported by Ollama can be used. Popular choices:
| Model | Size | Best For |
|---|---|---|
llama3 |
8B | General use, good balance |
llama3:70b |
70B | Best quality (requires more RAM) |
mistral |
7B | Fast, good for code |
codellama |
7B | Code-focused tasks |
nomic-embed-text |
— | Embeddings (required for RAG) |
Pull a model:
docker compose exec autobot-ai-stack ollama pull llama3| Variable | Description | Default |
|---|---|---|
JWT_EXPIRY_HOURS |
Token expiry in hours | 24 |
JWT_REFRESH_EXPIRY_DAYS |
Refresh token expiry | 7 |
CORS_ORIGINS |
Allowed CORS origins (comma-separated) | http://localhost |
SESSION_COOKIE_SECURE |
Require HTTPS for session cookies | true |
| Variable | Description | Default |
|---|---|---|
TLS_ENABLED |
Enable HTTPS in nginx | false |
TLS_CERT_PATH |
Path to TLS certificate | — |
TLS_KEY_PATH |
Path to TLS private key | — |
FORCE_HTTPS_REDIRECT |
Redirect HTTP → HTTPS | false |
| Variable | Description | Default |
|---|---|---|
ANSIBLE_SSH_USER |
Default SSH user for fleet nodes | autobot |
ANSIBLE_SSH_KEY_PATH |
Path to SSH private key | /etc/autobot/ssh/id_rsa |
ANSIBLE_TIMEOUT |
SSH connection timeout (seconds) | 30 |
FLEET_AGENT_PORT |
Port for AutoBot agent on nodes | 8080 |
| Variable | Description | Default |
|---|---|---|
UPLOAD_MAX_SIZE_MB |
Maximum file upload size | 100 |
UPLOAD_PATH |
Path for uploaded documents | /data/uploads |
KB_CHUNK_SIZE |
Knowledge base document chunk size (tokens) | 512 |
KB_CHUNK_OVERLAP |
Chunk overlap for context continuity | 64 |
| Variable | Description | Default |
|---|---|---|
PROMETHEUS_ENABLED |
Enable Prometheus metrics endpoint | false |
METRICS_PORT |
Metrics endpoint port | 9090 |
GRAFANA_ENABLED |
Enable Grafana dashboard | false |
GRAFANA_PORT |
Grafana port | 3000 |
To enable monitoring:
PROMETHEUS_ENABLED=true
GRAFANA_ENABLED=trueThen start with:
docker compose --profile monitoring up -d| Variable | Description | Default |
|---|---|---|
LOG_LEVEL |
Log level: debug, info, warning, error
|
info |
LOG_FORMAT |
json or text
|
json |
LOG_FILE |
Write logs to file (optional) | — |
# Core
AUTOBOT_SECRET_KEY=your-64-char-hex-string-here
AUTOBOT_ENV=production
AUTOBOT_ADMIN_PASSWORD=strong-password-here
# Database
POSTGRES_PASSWORD=strong-db-password
POSTGRES_USER=autobot
POSTGRES_DB=autobot
# AI
OLLAMA_MODEL=llama3
OLLAMA_EMBED_MODEL=nomic-embed-text
# TLS
TLS_ENABLED=true
TLS_CERT_PATH=/certs/fullchain.pem
TLS_KEY_PATH=/certs/privkey.pem
FORCE_HTTPS_REDIRECT=true
# Security
JWT_EXPIRY_HOURS=8
SESSION_COOKIE_SECURE=true