Open Notebook - Teil 2

21. Juni 2026 - Lesezeit: 8 Minuten

Voraussetzung für die Bereitstellung von Open Notebook ist eine vorhandene Installation der Containervirtualisierung Docker Engine (Docker CE) oder Docker Desktop. Letzteres steht für die gängigen Betriebssysteme Linux, Windows und MacOs zur Verfügung.

Open Notebook besteht aus mehreren Komponenten:

  • Datenbank surrealdb als Docker Container
  • Anwendung Open Notebook als Docker Container (Python-Anwendung mit Webserver uvicorn und next.js-Webframework)
  • KI Tools / LLMs
    • Cloud-basiert (z.B. Google AI, Anthropic, OpenAI, ElevenLabs, ...) über API-Zugriff
    • Lokal installiert (Ollama oder LM Studio) über API-Zugriff
    • Lokal als Docker Container (Ollama) über API-Zugriff

Installation vorbereiten

Zunächst legt man sich einen Ordner für die Anwendung an, in der die Container-Daten gespeichert werden. Dort kann kann man sich zunächst die Bauanleitung von Open Notebook für Docker einrichten.

KI-Tools cloud-basiert 

Wer nur mit Cloud-basierten KI-Tools arbeiten will kann auf den zusätzlichen Docker-Container für Ollama verzichten. 

docker-compose.yml herunterladen

curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml

docker-compose.yml mit Texteditor öffnen und Schlüssel für Verschlüsselung anpassen

OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
KI-Tools lokal installiert

Wer bereits Ollama oder LM Studio lokal installiert hat kann das als lokalen LLM-Provider für Open Notebook verwenden und auf den zusätzlichen Docker-Container für Ollama verzichten. 

docker-compose.yml herunterladen

curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml

docker-compose.yml mit Texteditor öffnen und Schlüssel für Verschlüsselung anpassen

OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
KI-Tools lokal als Docker Container

Wer mit lokaler KI arbeiten will, aber noch keine bereitgestellt hat, kann das am einfachsten über einen zusätzlichen Docker-Container mit Ollama realisieren.

Mit Texteditor docker-compose.yml erstellen:

services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    command: start --log info --user root --pass root rocksdb:/mydata/mydatabase.db
    user: root  # Required for bind mounts on Linux
    ports:
      - "8000:8000"
    volumes:
      - ./surreal_data:/mydata
    environment:
      - SURREAL_EXPERIMENTAL_GRAPHQL=true
    restart: always
    pull_policy: always

  open_notebook:
    image: lfnovo/open_notebook:v1-latest
    ports:
      - "8502:8502"  # Web UI
      - "5055:5055"  # REST API
    environment:
      # REQUIRED: Change this to your own secret string
      # This encrypts your API keys in the database
    - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string

      # Database connection (default values - no need to change)
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=root
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
      
      # Ollama (required when running Ollama via Docker, as in this compose file)
      - OLLAMA_BASE_URL=http://ollama:11434
      
    volumes:
      - ./notebook_data:/app/data
    depends_on:
      - surrealdb
    restart: always
    pull_policy: always

  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_models:/root/.ollama
    restart: always
    # Optional: set GPU support if available
  # deploy:
  #  resources:
  #    reservations:
  #      devices:
  #        - driver: nvidia
  #          count: 1
  #          capabilities: [gpu]

NVidia GPU-Support

Wer über eine NVidia GPU verfügt kann in der docker-compose.yml GPU-Unterstützung aktivieren.

    # Optional: set GPU support if available
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
            count: all
              capabilities: [gpu]

Installation / Deployment

Nun können die Container gemäß der Bauanleitung erzeugt werden.

docker compose up -d
[+] up 26/26
 ✔ Image surrealdb/surrealdb:v2            Pulled                                                                   2.0s
 ✔ Image lfnovo/open_notebook:v1-latest    Pulled                                                                 274.2s
 ✔ Image ollama/ollama:latest              Pulled                                                                1116.3s
 ✔ Container open-notebook-ollama-1        Started                                                                  0.7s
 ✔ Container open-notebook-open_notebook-1 Started                                                                  0.9s
 ✔ Container open-notebook-surrealdb-1     Started                                                                  0.2s

What's next:
    Filter, search, and stream logs from all your Compose services
    in one place with Docker Desktop's Logs view. docker-desktop://dashboard/logs?appId=open-notebook

docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED          STATUS          PORTS                                                                                      NAMES
ca2e70575fe9   lfnovo/open_notebook:v1-latest   "/usr/bin/supervisor…"   13 minutes ago   Up 13 minutes   0.0.0.0:5055->5055/tcp, [::]:5055->5055/tcp, 0.0.0.0:8502->8502/tcp, [::]:8502->8502/tcp   open-notebook-open_notebook-1
576e87ed7f57   ollama/ollama:latest             "/bin/ollama serve"      13 minutes ago   Up 13 minutes   0.0.0.0:11434->11434/tcp, [::]:11434->11434/tcp                                            open-notebook-ollama-1
1029532d05e5   surrealdb/surrealdb:v2           "/surreal start --lo…"   5 days ago       Up 13 minutes   0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp                                                open-notebook-surrealdb-1

Docker Desktop 

Jetzt kann Docker Desktop gestartet werden.

Weiter gehts mit der Installation der KI-Modelle in Teil 3.