---
title: "Deploy Open Notebook | Open Source NotebookLM Alternative"
description: "Self-hosted NotebookLM alternative - chat with docs, notes, podcasts"
category: "AI/ML"
url: https://railway.com/deploy/open-notebook-notebooklm
---

# Deploy Open Notebook | Open Source NotebookLM Alternative

Self-hosted NotebookLM alternative - chat with docs, notes, podcasts

**[Deploy Open Notebook | Open Source NotebookLM Alternative on Railway](https://railway.com/template/open-notebook-notebooklm)**

- **Creator:** katsuba.dev
- **Category:** AI/ML

## Template content

### SurrealDB https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/surrealdb.svg

- **Image:** surrealdb/surrealdb:v2.6.5
- **Start command:** `/surreal start --deny-guests --no-banner`

### Open Notebook https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/open-notebook.svg

- **Image:** lfnovo/open_notebook:1.14.0
- **Public domain:** Yes

## Documentation

# Deploy and Host Open Notebook on Railway

Open Notebook is an open-source, privacy-first alternative to Google's NotebookLM.
Bring your own AI provider keys, upload sources, chat with your documents, generate notes
and podcasts, and keep every notebook on infrastructure you control.

## About Hosting Open Notebook

This template runs Open Notebook as two services: the **application** — a single container
that runs the FastAPI backend, the background task worker and the Next.js web UI together —
and a dedicated **SurrealDB** database that stores your notebooks, sources, notes and
embeddings on a persistent Railway volume. The web UI proxies API calls to the backend
internally, so one public domain serves the whole app; there is no separate reverse proxy
to configure.

Two things this template gets right that a bare deploy does not:

- **Both secrets are set.** `OPEN_NOTEBOOK_ENCRYPTION_KEY` encrypts the AI provider keys you
  save in the database, and `OPEN_NOTEBOOK_PASSWORD` turns on password authentication so your
  notebooks — and the API keys the app drives — are not exposed to anyone who finds the URL.
- **Every image is pinned.** The app is pinned to `lfnovo/open_notebook:1.14.0` and the
  database to `surrealdb/surrealdb:v2.6.5` — the SurrealDB major (v2) that Open Notebook is
  built and tested against. No floating tags means a redeploy never silently swaps the engine
  or the database version under your data.

## Common Use Cases

- **Research assistant over your own documents**: upload PDFs, web pages and transcripts, then ask questions grounded in your sources.
- **Notebook-to-podcast**: turn a set of sources into a generated audio overview, NotebookLM-style, using your own TTS provider.
- **Private, multi-provider AI workspace**: connect OpenAI, Anthropic, Google, Groq, Ollama or others and keep the whole workspace self-hosted.

## Dependencies for Open Notebook Hosting

### Deployment Dependencies

- [Open Notebook](https://www.open-notebook.ai/) — the upstream application (`lfnovo/open-notebook`).
- [SurrealDB](https://surrealdb.com/) v2 — the database backing every notebook, source and embedding.

### Implementation Details

- **First login**: open the app URL and enter the value of the `OPEN_NOTEBOOK_PASSWORD`
  variable (find it under the service's Variables tab in Railway). Then open **Settings → API
  Keys** and add at least one AI provider key — Open Notebook ships with no model configured,
  so this first step is required before you can create sources or chat.
- **Your data lives in SurrealDB**: notebooks, sources, notes and vector embeddings are all
  stored in the database volume, so they survive restarts, redeploys and version changes. The
  app's own volume holds uploads and processing caches.
- **Optional heavy extractors**: set `OPEN_NOTEBOOK_ENABLE_DOCLING=true` or
  `OPEN_NOTEBOOK_ENABLE_CRAWL4AI=true` to enable OCR / advanced document parsing and local
  JavaScript-rendered web scraping. These download large ML models and a browser on first
  boot (hundreds of MB to a few GB, cached on the volume afterwards) and raise memory use
  noticeably — leave them off unless you need them.
- **Resource usage**: measured on a fresh deploy, the two services idle at roughly **0.5 GB
  of RAM combined** (app ~0.35 GB, SurrealDB ~0.2 GB). Memory grows with ingestion, embedding
  and generation work, so expect a few dollars a month when idle and to scale toward
  **~$10–25/month** under regular use — more if you enable the Docling or Crawl4AI runtimes or
  process large media files.

## Why Deploy Open Notebook on Railway?

Railway provisions the SurrealDB database, both persistent volumes and the public domain as
part of one deploy, so Open Notebook comes up configured, authenticated and reachable on the
first try — no compose file, reverse proxy or manual database wiring. The encryption key and
access password are generated for you, and the pinned images keep every redeploy reproducible.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/open-notebook-notebooklm
