docs/5-CONFIGURATION/index.md
Configuration is how you customize Open Notebook for your specific setup. This section covers what you need to know.
Three things:
Setup: Get API key → Add credential in Settings UI → Done
→ Go to AI Providers Guide
→ Go to Ollama Setup
→ Go to OpenAI-Compatible Guide
Use the right file depending on your setup.
.env (Local Development)You will only use .env if you are running Open Notebook locally.
Located in: project root
Use for: Development on your machine
Format: KEY=value, one per line
docker.env (Docker Deployment)You will use this file to hold your environment variables if you are using docker-compose and prefer not to put the variables directly in the compose file.
Located in: project root (or ./docker)
Use for: Docker deployments
Format: Same as .env
Loaded by: docker-compose.yml
All of the settings provided below are to be placed inside your environment file (.env or docker.env depending on your setup).
This is the database used by the app.
SURREAL_URL=ws://surrealdb:8000/rpc
SURREAL_USER=root
SURREAL_PASSWORD=root # Change in production!
SURREAL_NAMESPACE=open_notebook
SURREAL_DATABASE=open_notebook
The only thing that is critical to not miss is the hostname in the
SURREAL_URL. Check what URL to use based on your deployment, here.
We need access to LLMs in order for the app to work. AI provider credentials are configured via the Settings UI:
OPEN_NOTEBOOK_ENCRYPTION_KEY in your environment (required for storing credentials)# Required in your .env or docker-compose.yml:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
Ollama users: Add an Ollama credential in Settings → API Keys with the correct base URL. See Ollama Setup for network configuration help.
LM Studio / OpenAI-Compatible: Add an OpenAI-Compatible credential in Settings → API Keys. See OpenAI-Compatible Guide.
You only need to worry about this if you are deploying on a proxy or if you are changing port information. Otherwise, skip this.
API_URL=https://your-domain.com
# Usually auto-detected. Only set if needed.
Auto-detection works for most setups.
# In docker.env:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
# Everything else uses defaults
# Then configure AI provider in Settings → API Keys
# In docker.env:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
API_URL=http://your-server-ip:5055
# In docker.env:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
API_URL=https://your-domain.com
# The reverse proxy handles HTTPS
# In .env:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
# Then add Ollama credential in Settings → API Keys
# In docker.env:
OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
# Then add Azure OpenAI credential in Settings → API Keys
The recommended way to configure AI providers:
1. Open Open Notebook in your browser
2. Go to Settings → API Keys
3. Click "Add Credential"
4. Select provider, enter API key
5. Click Save, then Test Connection
6. Click Discover Models → Register Models
No file editing, no restarts. Credentials stored securely (encrypted) in database.
→ Full Guide: API Configuration
.env File (Infrastructure Settings)For database, network, and encryption key settings:
1. Open .env in your editor
2. Set OPEN_NOTEBOOK_ENCRYPTION_KEY and database vars
3. Save
4. Restart services
# In docker-compose.yml:
services:
api:
environment:
- OPEN_NOTEBOOK_ENCRYPTION_KEY=my-secret-key
- API_URL=https://your-domain.com
After configuration, verify it works:
1. Open your notebook
2. Go to Settings → Models
3. You should see your configured provider
4. Try a simple Chat question
5. If it responds, configuration is correct!
| Mistake | Problem | Fix |
|---|---|---|
| No credential configured | Models not available | Add credential in Settings → API Keys |
| Missing encryption key | Can't save credentials | Set OPEN_NOTEBOOK_ENCRYPTION_KEY |
| Wrong database URL | Can't start API | Check SURREAL_URL format |
| Expose port 5055 | "Can't connect to server" | Expose 5055 in docker-compose |
| Typo in env var | Settings ignored | Check spelling (case-sensitive!) |
| Don't restart | Old config still used | Restart services after env changes |
Once configured:
Minimal configuration to run:
OPEN_NOTEBOOK_ENCRYPTION_KEY in your environmentEverything else is optional optimization.