From 52f99c51baceb145fd00f2571f8392b12653c1cb Mon Sep 17 00:00:00 2001 From: dschlueter Date: Fri, 10 Jul 2026 21:05:23 +0200 Subject: [PATCH] Initial setup: docker-compose for Open Notebook (SurrealDB + open_notebook), Ollama + OpenRouter as AI providers Co-Authored-By: Claude Sonnet 5 --- .env.example | 9 +++++++++ .gitignore | 3 +++ docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..8302b2a --- /dev/null +++ b/.env.example @@ -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= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be0e442 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +surreal_data/ +notebook_data/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d830346 --- /dev/null +++ b/docker-compose.yml @@ -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