Guide · Open source
How to use Open Notebook: install with Docker and chat with your sources
Updated · written with AI from the project's own documentation and checked against our catalogue data
Open Notebook is a self-hosted, open-source app for organizing research material such as PDFs, videos, audio and web pages into notebooks, then searching and chatting with an AI about that content. It is an open-source alternative to Google's NotebookLM. This guide walks through installing it with Docker Compose, connecting an AI provider, and starting your first notebook.
Quick start
- 1Create a folder. Make a new folder called open-notebook and move into it, so the compose file has a clear home.
- 2Download docker-compose.yml. Use curl to fetch the official compose file from the lfnovo/open-notebook repository on GitHub.
- 3Set the encryption key. Replace the placeholder OPEN_NOTEBOOK_ENCRYPTION_KEY value with your own long random secret and keep it.
- 4Secure the ports if needed. If other devices can reach the machine, bind ports 8502 and 5055 to 127.0.0.1 or set OPEN_NOTEBOOK_PASSWORD.
- 5Start the services. Run docker compose up -d, wait about 30 seconds, then open http://localhost:8502.
- 6Add an AI provider. In Models, add a configuration with your API key or Base URL, test it, add a Language and an Embedding model, and auto-assign defaults.
What you need before you install Open Notebook
You need Docker. On macOS and Windows, the README recommends Docker Desktop. On Linux, use Docker Engine with the Compose plugin.
You also need either an API key from an AI provider or a local model server such as Ollama. You add the key inside the app's UI, not in config files.
- Docker Desktop (macOS, Windows) or Docker Engine with the Compose plugin (Linux)
- An API key from an AI provider, or a local model server such as Ollama
Download the docker-compose.yml file
Create a folder and download the official compose file from the repository. The file runs two services: surrealdb, which is the database, and open_notebook, which provides the UI, API and background worker.
mkdir open-notebook && cd open-notebook
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.ymlSet your encryption key before starting
Open docker-compose.yml and replace the placeholder value of OPEN_NOTEBOOK_ENCRYPTION_KEY with a long random secret you generate yourself. The README gives openssl rand -hex 32 as one example. This key encrypts the API keys you store, so keep it safe.
If other devices can reach the machine running Open Notebook, the README says the UI on port 8502 and the API on port 5055 are published on all network interfaces with no password by default. In that case, change the two port lines to bind to 127.0.0.1, or add an OPEN_NOTEBOOK_PASSWORD setting to the environment block, before you start the app.
- Replace change-me-to-a-secret-string with your own secret
- Limit ports to 127.0.0.1 if the machine is on a shared network
- Or set OPEN_NOTEBOOK_PASSWORD in the environment block
- OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-stringStart Open Notebook and open the UI
Start the services in the background with Docker Compose. The README says to wait about 30 seconds, then open the app in your browser.
- Open http://localhost:8502 in your browser
docker compose up -dConnect an AI provider in the Models screen
Open Notebook does not ship with a model. You connect one from the sidebar. Providers that need a key, such as OpenAI, Anthropic or Google, take an API key. Local providers such as Ollama need a Base URL instead.
You need at least one Language model and one Embedding model. The README notes that Anthropic and Groq have no embedding models, so pair them with a provider that does.
- In the sidebar, open Models under Manage
- Find your provider and click Add Configuration
- Enter a name and your API key, or a Base URL for local providers, then click Add Configuration
- Click Test on the new configuration to check the connection
- Click Models, choose a Model Type, tick the models to add and click Add
- Under Default Model Assignments, click Auto-assign Defaults or pick models yourself
Create a notebook, add sources and chat
Once a model is assigned, create a notebook and add a source such as a PDF, video, audio file or web page. You can then search across your content and chat with the AI. The README says answers cite the sources, notes and insights they used.
For a fully local setup, the README points to a Local Quick Start that runs Ollama in Docker. The Docker Compose guide covers settings, backups, updates and remote access.
- Organize PDFs, videos, audio and web pages in notebooks
- Use full-text and vector search across your content
- Chat with the AI using your research as context
What people use it for
- Organizing research PDFs, videos, audio and web pages into separate notebooks
- Searching and chatting across your own collected sources with an AI model
- Running models locally through Ollama so research material stays on your own machine
- Switching between AI providers such as OpenAI, Anthropic or Google as needs change
Frequently asked questions
Is Open Notebook free?
The project is released under the MIT licence. The README says the cost is paying only for AI usage, while local models run through Ollama avoid API costs. Hosting it yourself means you manage the machine it runs on.
What do I need to run Open Notebook?
You need Docker Desktop, or Docker Engine with the Compose plugin on Linux. You also need an API key from an AI provider or a local model server such as Ollama.
Is there a password by default?
No. The README says there is no password by default and the UI and API are published on all network interfaces. Bind the ports to 127.0.0.1 or set OPEN_NOTEBOOK_PASSWORD before exposing it to a shared network.
Can I use Open Notebook with Ollama?
Yes. Add an Ollama configuration in Models using a Base URL instead of an API key. The README points to a Local Quick Start guide that runs Ollama in Docker.
Why does the app need an encryption key?
The OPEN_NOTEBOOK_ENCRYPTION_KEY encrypts the API keys you store in the app. The README asks you to replace the placeholder with your own long random secret and keep it.
How is Open Notebook different from Google NotebookLM?
According to the README comparison, Open Notebook is self-hosted, supports 20+ AI providers including local ones, offers a full REST API, and is open source. Google NotebookLM is hosted by Google and uses Google models only.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Open Notebook suits people who are comfortable running Docker, managing an API key or local model server, and securing a self-hosted app. If you want a zero-setup hosted service, or you are not ready to manage keys and ports, pick a hosted tool such as Google NotebookLM instead.
Install options & downloads