lfnovo/open-notebook
Open Notebook
An open source, privacy-focused alternative to Google's Notebook LM!
Join our Discord server for help, to share workflow ideas, and suggest features!
Checkout our website Β»
π Get Started
Β·
π User Guide
Β·
β¨ Features
Β·
π Deploy
A private, multi-model, 100% local, full-featured alternative to Notebook LM

In a world dominated by Artificial Intelligence, having the ability to think π§ and acquire new knowledge π‘, is a skill that should not be a privilege for a few, nor restricted to a single provider.
Open Notebook empowers you to:
- π Control your data - Keep your research private and secure
- π€ Choose your AI models - Support for 16+ providers including OpenAI, Anthropic, Ollama, LM Studio, and more
- π Organize multi-modal content - PDFs, videos, audio, web pages, and more
- ποΈ Generate professional podcasts - Advanced multi-speaker podcast generation
- π Search intelligently - Full-text and vector search across all your content
- π¬ Chat with context - AI conversations powered by your research
Learn more about our project at https://www.open-notebook.ai
β οΈ IMPORTANT: v1.0 Breaking Changes
If youβre upgrading from a previous version, please note:
- π·οΈ Docker tags have changed: The
latesttag is now frozen at the last Streamlit version - π Use
v1-latesttag for the new React/Next.js version (recommended) - π Port 5055 required: You must expose port 5055 for the API to work
- π Read the migration guide: See MIGRATION.md for detailed upgrade instructions
New users: You can ignore this notice and proceed with the Quick Start below using the v1-latest-single tag.
π Open Notebook vs Google Notebook LM
| Feature | Open Notebook | Google Notebook LM | Advantage |
|---|---|---|---|
| Privacy & Control | Self-hosted, your data | Google cloud only | Complete data sovereignty |
| AI Provider Choice | 16+ providers (OpenAI, Anthropic, Ollama, LM Studio, etc.) | Google models only | Flexibility and cost optimization |
| Podcast Speakers | 1-4 speakers with custom profiles | 2 speakers only | Extreme flexibility |
| Context Control | 3 granular levels | All-or-nothing | Privacy and performance tuning |
| Content Transformations | Custom and built-in | Limited options | Unlimited processing power |
| API Access | Full REST API | No API | Complete automation |
| Deployment | Docker, cloud, or local | Google hosted only | Deploy anywhere |
| Citations | Comprehensive with sources | Basic references | Research integrity |
| Customization | Open source, fully customizable | Closed system | Unlimited extensibility |
| Cost | Pay only for AI usage | Monthly subscription + usage | Transparent and controllable |
Why Choose Open Notebook?
- π Privacy First: Your sensitive research stays completely private
- π° Cost Control: Choose cheaper AI providers or run locally with Ollama
- ποΈ Better Podcasts: Full script control and multi-speaker flexibility vs limited 2-speaker deep-dive format
- π§ Unlimited Customization: Modify, extend, and integrate as needed
- π No Vendor Lock-in: Switch providers, deploy anywhere, own your data
Built With
π Quick Start
Docker Images Available:
- Docker Hub:
lfnovo/open_notebook:v1-latest-single - GitHub Container Registry:
ghcr.io/lfnovo/open-notebook:v1-latest-single
Both registries contain identical images - choose whichever you prefer!
Choose Your Setup:
π Local Machine SetupPerfect if Docker runs on the same computer where youβll access Open Notebook.
Access at: http://localhost:8502 |
π Remote Server SetupUse this for servers, Raspberry Pi, NAS, Proxmox, or any remote machine.
Replace Access at: http://YOUR_SERVER_IP:8502 |
β οΈ Critical Setup Notes:
Both ports are required:
- Port 8502: Web interface (what you see in your browser)
- Port 5055: API backend (required for the app to function)
API_URL must match how YOU access the server:
- β Access via
http://192.168.1.100:8502β setAPI_URL=http://192.168.1.100:5055- β Access via
http://myserver.local:8502β setAPI_URL=http://myserver.local:5055- β Donβt use
localhostfor remote servers - it wonβt work from other devices!
Using Docker Compose (Recommended for Easy Management)
Create a docker-compose.yml file:
|
|
Start with: docker compose up -d
What gets created:
|
|
π Quick Troubleshooting
| Problem | Solution |
|---|---|
| βUnable to connect to serverβ | Set API_URL environment variable to match how you access the server (see remote setup above) |
| Blank page or errors | Ensure BOTH ports (8502 and 5055) are exposed in your docker command |
| Works on server but not from other computers | Donβt use localhost in API_URL - use your serverβs actual IP address |
| β404β or βconfig endpointβ errors | Donβt add /api to API_URL - use just http://your-ip:5055 |
| Still having issues? | Check our 5-minute troubleshooting guide or join Discord |
How Open Notebook Works
|
|
Key Point: Your browser loads the frontend from port 8502, but that frontend needs to know where to find the API (port 5055). When accessing remotely, you must tell it explicitly: API_URL=http://your-server-ip:5055
Star History
π οΈ Full Installation
For development or customization:
|
|
π Need Help?
- π€ AI Installation Assistant: We have a CustomGPT built to help you install Open Notebook - it will guide you through each step!
- New to Open Notebook? Start with our Getting Started Guide
- Need installation help? Check our Installation Guide
- Want to see it in action? Try our Quick Start Tutorial
Provider Support Matrix
Thanks to the Esperanto library, we support this providers out of the box!
| Provider | LLM Support | Embedding Support | Speech-to-Text | Text-to-Speech |
|---|---|---|---|---|
| OpenAI | β | β | β | β |
| Anthropic | β | β | β | β |
| Groq | β | β | β | β |
| Google (GenAI) | β | β | β | β |
| Vertex AI | β | β | β | β |
| Ollama | β | β | β | β |
| Perplexity | β | β | β | β |
| ElevenLabs | β | β | β | β |
| Azure OpenAI | β | β | β | β |
| Mistral | β | β | β | β |
| DeepSeek | β | β | β | β |
| Voyage | β | β | β | β |
| xAI | β | β | β | β |
| OpenRouter | β | β | β | β |
| OpenAI Compatible* | β | β | β | β |
*Supports LM Studio and any OpenAI-compatible endpoint
β¨ Key Features
Core Capabilities
- π Privacy-First: Your data stays under your control - no cloud dependencies
- π― Multi-Notebook Organization: Manage multiple research projects seamlessly
- π Universal Content Support: PDFs, videos, audio, web pages, Office docs, and more
- π€ Multi-Model AI Support: 16+ providers including OpenAI, Anthropic, Ollama, Google, LM Studio, and more
- ποΈ Professional Podcast Generation: Advanced multi-speaker podcasts with Episode Profiles
- π Intelligent Search: Full-text and vector search across all your content
- π¬ Context-Aware Chat: AI conversations powered by your research materials
- π AI-Assisted Notes: Generate insights or write notes manually
Advanced Features
- β‘ Reasoning Model Support: Full support for thinking models like DeepSeek-R1 and Qwen3
- π§ Content Transformations: Powerful customizable actions to summarize and extract insights
- π Comprehensive REST API: Full programmatic access for custom integrations
- π Optional Password Protection: Secure public deployments with authentication
- π Fine-Grained Context Control: Choose exactly what to share with AI models
- π Citations: Get answers with proper source citations
Three-Column Interface
- Sources: Manage all your research materials
- Notes: Create manual or AI-generated notes
- Chat: Converse with AI using your content as context
π Documentation
Getting Started
- π Introduction - Learn what Open Notebook offers
- β‘ Quick Start - Get up and running in 5 minutes
- π§ Installation - Comprehensive setup guide
- π― Your First Notebook - Step-by-step tutorial
User Guide
- π± Interface Overview - Understanding the layout
- π Notebooks - Organizing your research
- π Sources - Managing content types
- π Notes - Creating and managing notes
- π¬ Chat - AI conversations
- π Search - Finding information
Advanced Topics
- ποΈ Podcast Generation - Create professional podcasts
- π§ Content Transformations - Customize content processing
- π€ AI Models - AI model configuration
- π§ REST API Reference - Complete API documentation
- π Security - Password protection and privacy
- π Deployment - Complete deployment guides for all scenarios
πΊοΈ Roadmap
Upcoming Features
- Live Front-End Updates: Real-time UI updates for smoother experience
- Async Processing: Faster UI through asynchronous content processing
- Cross-Notebook Sources: Reuse research materials across projects
- Bookmark Integration: Connect with your favorite bookmarking apps
Recently Completed β
- Next.js Frontend: Modern React-based frontend with improved performance
- Comprehensive REST API: Full programmatic access to all functionality
- Multi-Model Support: 16+ AI providers including OpenAI, Anthropic, Ollama, LM Studio
- Advanced Podcast Generator: Professional multi-speaker podcasts with Episode Profiles
- Content Transformations: Powerful customizable actions for content processing
- Enhanced Citations: Improved layout and finer control for source citations
- Multiple Chat Sessions: Manage different conversations within notebooks
See the open issues for a full list of proposed features and known issues.
π€ Community & Contributing
Join the Community
- π¬ Discord Server - Get help, share ideas, and connect with other users
- π GitHub Issues - Report bugs and request features
- β Star this repo - Show your support and help others discover Open Notebook
Contributing
We welcome contributions! Weβre especially looking for help with:
- Frontend Development: Help improve our modern Next.js/React UI
- Testing & Bug Fixes: Make Open Notebook more robust
- Feature Development: Build the coolest research tool together
- Documentation: Improve guides and tutorials
Current Tech Stack: Python, FastAPI, Next.js, React, SurrealDB Future Roadmap: Real-time updates, enhanced async processing
See our Contributing Guide for detailed information on how to get started.
π License
Open Notebook is MIT licensed. See the LICENSE file for details.
π Contact
Luis Novo - @lfnovo
Community Support:
- π¬ Discord Server - Get help, share ideas, and connect with users
- π GitHub Issues - Report bugs and request features
- π Website - Learn more about the project
π Acknowledgments
Open Notebook is built on the shoulders of amazing open-source projects:
- Podcast Creator - Advanced podcast generation capabilities
- Surreal Commands - Background job processing
- Content Core - Content processing and management
- Esperanto - Multi-provider AI model abstraction
- Docling - Document processing and parsing
