Initial setup: docker-compose for Open Notebook (SurrealDB + open_notebook), Ollama + OpenRouter as AI providers

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-07-10 21:05:23 +02:00
commit 52f99c51ba
3 changed files with 48 additions and 0 deletions

9
.env.example Normal file
View file

@ -0,0 +1,9 @@
# SurrealDB & Open Notebook encryption key (generate with: openssl rand -base64 32)
OPEN_NOTEBOOK_ENCRYPTION_KEY=
# SurrealDB credentials
SURREAL_USER=root
SURREAL_PASSWORD=
# OpenRouter (Cloud-KI, einziger Cloud-Provider)
OPENROUTER_API_KEY=

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
.env
surreal_data/
notebook_data/

36
docker-compose.yml Normal file
View file

@ -0,0 +1,36 @@
services:
surrealdb:
image: surrealdb/surrealdb:v2
restart: always
pull_policy: always
command: start --log info --user ${SURREAL_USER:-root} --pass ${SURREAL_PASSWORD:-root} rocksdb:/mydata/mydatabase.db
user: root # Required for bind mounts on Linux
environment:
- SURREAL_EXPERIMENTAL_GRAPHQL=true
ports:
- "127.0.0.1:8000:8000"
volumes:
- ./surreal_data:/mydata
open_notebook:
image: lfnovo/open_notebook:v1-latest
restart: always
pull_policy: always
depends_on:
- surrealdb
ports:
- "127.0.0.1:8502:8502"
- "127.0.0.1:5055:5055"
environment:
- OPEN_NOTEBOOK_ENCRYPTION_KEY=${OPEN_NOTEBOOK_ENCRYPTION_KEY}
- SURREAL_URL=ws://surrealdb:8000/rpc
- SURREAL_USER=${SURREAL_USER:-root}
- SURREAL_PASSWORD=${SURREAL_PASSWORD:-root}
- SURREAL_NAMESPACE=open_notebook
- SURREAL_DATABASE=open_notebook
- OLLAMA_BASE_URL=http://host.docker.internal:11434
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./notebook_data:/app/data