lfnovo/open-notebook
Productivity & UtilitiesSelf-hosted research notebook that chats with your documents and generates multi-speaker podcasts using your chosen AI models.
Open Notebook is a self-hosted, MIT-licensed alternative to Google NotebookLM aimed at people who want their research material and AI-provider choice under their own control. You organise PDFs, videos, audio, web pages and Office documents into notebooks, then chat over them, search, take AI-assisted notes and generate podcasts. The README frames privacy and provider flexibility as the main differences from the hosted product. (README, provider matrix)
What a workflow looks like
The documented fast path runs two containers — SurrealDB and the application (UI, REST API and background worker) — via the official docker-compose file, with the UI on port 8502 and API docs on 5055. After starting, you add a provider in the Models screen, test the connection, register at least one Language model and one Embedding model, then assign defaults. A notebook, a source and a chat are the basic unit of work. (quick start, connect a provider)
How the evidence-grounded results are produced
Sources are processed into full-text and vector indexes, which is why an embedding model is not optional: it powers search and retrieval. Answers are meant to cite the sources, notes and insights they used, and context control lets you choose what is exposed to the model. Content transformations are reusable actions for summarising or extracting from material. Podcast generation is the more distinctive feature, with profiles for one to four speakers rather than a fixed two-host format. (feature list, podcasts guide, transformations)
Requirements and provider choices
You need Docker Desktop or Docker Engine with the Compose plugin, an API key from a hosted provider or a local model server such as Ollama. Ollama gives a fully local path, but the support matrix shows it for language and embedding models only — speech-to-text and text-to-speech features need a provider that offers them. Anthropic and Groq, for example, have no embedding models, so the README advises pairing them with one that does. The matrix describes provider capability, not what your account can access. (local quick start, provider matrix)
Security defaults worth knowing
There is no password by default, and the UI and API ports are published on all interfaces. On a shared network the documentation offers two alternatives before first start: bind the ports to 127.0.0.1, or set OPEN_NOTEBOOK_PASSWORD. You must also replace the compose file's placeholder encryption key with a long random secret and keep it, because it encrypts stored API keys. (security guide, Docker Compose notes)
Local models keep content on your machine; hosted providers receive the content you send them, so the privacy claim is conditional on that choice. Multi-user support and agents driving the app through MCP are listed as future directions, not current features. (vision)
Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.