The Questions the Official Docs Don't Answer.

8 FAQs sourced from GitHub issues, Reddit threads, and real deployment experience. Concrete fixes, not theory.

Setup & Errors

What's the cheapest way to get started without a GPU?

Use Groq (free tier) or OpenAI API. Open Notebook needs only 4 GB RAM — a $5/month DigitalOcean droplet or Hetzner CX22 runs it fine with cloud APIs.

Groq's free tier gives you ~30 requests/minute to Llama 3.3 70B and DeepSeek-R1. Fast enough for individual use. Add nomic-embed-text via Ollama for free local embeddings, or use text-embedding-3-small at $0.02/1M tokens. TTS through ElevenLabs adds ~$5/month for occasional podcasts.

Full model cost comparison →

Ollama connection test passes but embeddings fail with "Connection error"

This is a known bug in the Esperanto embedding library (GitHub #655) — it ignores the base_url setting for Ollama embeddings.

Fix:

  1. Ensure the embedding model is actually pulled: docker exec -it open-notebook-ollama-1 ollama pull nomic-embed-text
  2. In Settings → API Keys, set the Ollama base URL to http://ollama:11434 (Docker service name, NOT localhost)
  3. Restart Open Notebook: docker compose restart open-notebook
Ollama runs out of memory (OOM) on my GPU

Open Notebook v1.8+ defaults num_ctx to 8192 (down from 128000) specifically to prevent OOM on consumer GPUs. If you raised it, lower it back.

Rule of thumb: 1 GB VRAM per ~2048 context tokens at 7B parameters.

VRAM ≈ (params_in_B × 0.5) + (num_ctx / 2048) × (params_in_B / 7) GB

Example: 7B @ 8192 ctx → 7.5 GB. 20B @ 8192 ctx → 18 GB. 7B @ 128K ctx → 64 GB.

If you have 8 GB VRAM: stick to 7B models, keep ctx ≤ 8192. Hardware sizing guide →

SurrealDB "Permission denied" on Linux

The SurrealDB container runs as root by default. If you're mounting a local directory, permissions must match:

sudo chown -R 1000:1000 ./surreal-data/

Or add user: root to the SurrealDB service in docker-compose.yml.

How do I expose Open Notebook to the internet safely?

Never expose ports 8502 or 5055 directly. The safe path:

  1. Set OPEN_NOTEBOOK_PASSWORD as an instance-level password
  2. Put nginx in front with Let's Encrypt TLS
  3. UFW: only allow 80 and 443
  4. Bind everything to 127.0.0.1 — only nginx faces the internet

Full nginx + TLS config →

Models & Quality

Which model combination gives the best quality-to-cost ratio?

Best value combo: GPT-4o-mini for chat ($0.15/1M input) + text-embedding-3-small for embeddings ($0.02/1M) + ElevenLabs for TTS ($0.30/1K chars).

GPT-4o-mini is ~90% as good as GPT-4o for document Q&A at 1/20th the price. A heavy user (200 docs, 1K queries/month) spends ~$10–20/month with this combo.

Zero-cost mode: Groq free tier (Llama 3.3 70B) + Ollama nomic-embed-text (free local) + ElevenLabs for TTS (the only paid piece, ~$5/month). Full model guide →

Is Open Notebook good enough for academic research?

For literature review and synthesis: yes. Upload papers, ask questions across them, generate summaries — works well with GPT-4o or Claude Sonnet.

For exact citations and writing: no. Open Notebook's citation system gives approximate source references, not exact paragraph-level highlighting. NotebookLM is significantly better for "which sentence in which paper said this." If you need publication-grade citations, use NotebookLM for the citation work and Open Notebook for large-scale document processing.

Full comparison →

Maintenance & Upgrades

How do I upgrade Open Notebook without losing my data?

Your data lives in Docker volumes, not inside containers. Upgrades are safe:

docker compose pull
docker compose up -d

This pulls the latest images and recreates containers. Volumes (./surreal-data/, ./app-data/) are untouched.

Always take a backup before major version bumps: Backup script here. SurrealDB schema changes between major versions can require manual migration — the Production Manual covers this in detail.

Still Have Questions?

The Production Manual goes deeper — 30+ error fixes with exact solutions, CI/CD templates, and monitoring setup.

Get the Production Manual — $19