Open Notebook Operational Guide

Local Deployment: opno.loca.zone (Default port: 8502)
Stack: Python, Next.js, React, SurrealDB, LangChain.


Quick Deploy (Docker Compose)

1. Configuration (docker-compose.yml)

services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    command: start --log info --user root --pass root rocksdb:/mydata/mydatabase.db
    user: root
    ports:
      - "8000:8000"
    volumes:
      - ./surreal_data:/mydata
    restart: always
 
  open_notebook:
    image: lfnovo/open_notebook:v1-latest
    ports:
      - "8502:8502"
      - "5055:5055"
    environment:
      - OPEN_NOTEBOOK_ENCRYPTION_KEY=generate-a-secure-key-here
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=root
      - SURREAL_PASSWORD=root
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
    volumes:
      - ./notebook_data:/app/data
    depends_on:
      - surrealdb
    restart: always

2. Startup Command

docker compose up -d

Access UI at http://localhost:8502 or your mapped domain proxy after ~20 seconds.


Initial Setup & Model Configuration

  1. Navigate to Settings: Open the UI and select Models.
  2. Add Provider: Click + Add Configuration, select your provider (Ollama, OpenAI, Anthropic, Gemini, Groq, etc.), and provide the API key/endpoint.
  3. Sync Models: Click Sync Models, then select the models you want to activate.
  4. Assign Roles: Go to Default Model Assignments and click Auto-Assign Defaults (or manually map models to Chat, Embeddings, and Synthesis tasks).

System Capabilities

  • Multi-Format Ingestion: PDFs, audio/video, web pages, plain text.
  • Vector Search: Hybrid full-text and semantic search across notebooks.
  • Podcast Engine: Scripted generation with 1-4 custom voice profiles.
  • Open API: Full REST API exposure for external integrations and automation.