Open NotebookLM
Self-hosted AI notebook for documents and audio overviews
Open Notebook is an open-source, privacy-focused alternative to commercial AI notebook tools. It lets users add documents, ask questions, and generate podcast-style audio overviews using local or remote models.
Key features
- Document question answering
- Audio overview generation
- Local model support
- Privacy focused
Pros & cons
Strengths
- Podcast-style audio overviews
- Works with local models
- Privacy-focused design
Trade-offs
- Young project
- SurrealDB dependency
Open NotebookLM replaces
Last reviewed Aug 26, 2026 · 807 words
Drop 40 PDFs into a notebook, ask "what did these papers disagree on," get a cited answer, then click once and have a 2-voice podcast summarising them. That is the Google NotebookLM loop, and Open Notebook (listed here as Open NotebookLM) reproduces it on your own server with whatever models you choose, including local ones through Ollama. The parts that work are genuinely good. The parts that lean on cloud APIs are where you will spend money or accept lower quality, and the one architectural surprise is a database you have probably never run.
What it is, and what it is not
A notebook holds sources (PDFs, web pages, YouTube transcripts, audio, plain text), notes you write or generate, and a chat whose context you control by ticking which sources and notes the model may see. That context control is the design decision that separates it from a generic chat UI: per conversation, you decide whether the model reads full documents, summaries, or nothing at all. Transformations run a prompt across a source to produce a note, and podcast generation writes a script from your selected material and renders it with a text-to-speech provider.
It is not a general assistant like Open WebUI, and it is not a document-RAG service like AnythingLLM that other apps call over an API. It is a research workspace: sources in, understanding out, with audio as a bonus. The self-hosted AI stack overview on this site shows where each of these sits.
The compose file and the SurrealDB catch
The project ships a compose file with 2 services: the application and SurrealDB, a multi-model database it uses for documents, graph links and vectors in one place. SurrealDB is capable software and an unusual dependency; it will not share your existing Postgres, its backup story is its own export command, and if the project ever changes engines you will migrate. Budget for it the way you would for a second database.
Configuration is a docker.env file. The variables that matter are the provider keys and the Ollama endpoint:
OLLAMA_API_BASE=http://host.docker.internal:11434
OPENAI_API_KEY=sk-... # optional, for cloud models or TTS
Bring it up with docker compose up -d and open the web UI on port 8502; the API sits on 5055. The catalogue's 2 GB minimum covers the app and database, not the models; if Ollama runs on the same host, add whatever your chosen model needs on top.
Local models handle chat; audio is the compromise
Question answering over sources with a 7B to 14B instruct model through Ollama works well, and embeddings for retrieval can also come from Ollama so nothing leaves the box. Where quality drops is the podcast. The script needs a model that can write natural dialogue between 2 speakers, which a small local model does badly and a large cloud model does well, and the voices need a TTS provider. The project supports OpenAI, ElevenLabs and Google voices and can point at OpenAI-compatible local speech endpoints, but the polished 2-host effect that made NotebookLM famous is hard to match with local voices in 2026. Expect a fully local pipeline to produce serviceable audio, and a cloud pipeline to cost cents per episode.
If privacy is the reason you are here, the local AI privacy audit is the checklist: local chat, local embeddings, cloud TTS only for content you would be happy to send anyway.
Young, multi-user, and moving fast
The project first shipped in 2024 and the catalogue's "young project" caveat is fair: the frontend has already been rewritten once, the UI changes between releases, and features land faster than documentation. There is multi-user support and an API, so a household or small team can share an instance. Pin the image tag rather than tracking latest, and read the release notes before pulling, because database schema changes have required migration steps in the past.
Compared with NotebookLM itself, you give up Google's model quality and the source limits become yours to set instead of theirs; you gain ownership, any model, and no quiet policy changes.
What I'd do
Compose file as shipped, image tag pinned, Ollama on the same host with a 14B instruct model and a local embedding model, OLLAMA_API_BASE set, no cloud keys at first. Use it for reading and questioning documents, which is where the value is, and treat podcast generation as a treat that justifies an OpenAI key for TTS if you want it to sound good. Back up the SurrealDB volume weekly alongside the uploaded sources. If you want a chat assistant rather than a research notebook, run Open WebUI instead; the two coexist happily behind the same proxy.
Similar self-hosted ai apps
OpenClaw
Self-Hosted AIThe AI that actually does things
Hermes Agent
Self-Hosted AIThe AI agent that grows with you
OpenCode
Self-Hosted AIThe open source AI coding agent
Replaces Claude Code, Cursor
Hugging Face Transformers
Self-Hosted AIState-of-the-art machine learning model library
Replaces OpenAI API
Dify
Self-Hosted AIOpen-source platform for building production LLM apps
Replaces OpenAI Assistants, Vertex AI Agent Builder
Langflow
Self-Hosted AIVisual framework for building AI agents and RAG pipelines
Replaces Vertex AI Agent Builder