Deploy NoteDiscovery — Self-Hosted Notion Alternative with MCP
Self-host a Markdown knowledge base with MCP for Claude & Cursor.
NoteDiscovery
Just deployed
Deploy and Host NoteDiscovery on Railway
NoteDiscovery is a lightweight, self-hosted knowledge base that keeps your notes as plain
Markdown files you fully own — wikilinks, an interactive graph view, LaTeX math, Mermaid
diagrams, an in-app drawing editor, and full-text search in a fast, modern interface. MIT
licensed, free forever, and built around a folder of .md files, so there's no proprietary
database and no lock-in: back up with cp, migrate by taking your files, grep your whole vault.
Its standout feature for 2026: a built-in MCP server that lets Claude, Cursor, and other AI assistants search, create, and organize your notes directly. Self-host on Railway for ~$5/month — an Obsidian/Notion alternative that's web-based, AI-connected, and entirely yours.
What This Template Deploys
| Service | Purpose |
|---|---|
| NoteDiscovery | The Node.js knowledge base — Markdown editor, graph view, search, drawing editor, MCP server, and PWA, on port 8000 |
| Persistent Volume | Mounted at /app/data — your notes (plain .md files), drawings, and config survive every redeploy |
Single-service, no external database — notes are just files on the volume. Lightweight enough to run on a Raspberry Pi, so it costs very little on Railway. Install it as a PWA on desktop or mobile for a native-app feel.
About Hosting NoteDiscovery
NoteDiscovery stores everything as plain Markdown in a folder — the whole point is that your knowledge base is portable files, not a locked database. Hosting it means a Node.js server, a persistent volume for your notes, and a public HTTPS endpoint. Railway provisions all of it with automatic SSL and a volume that keeps your notes across redeploys.
Security note — important on Railway: NoteDiscovery ships with authentication disabled by default and a default password of
admin, because it's designed for local/home-network use. Railway deployments are public by default, so enable authentication and set a strong password before or immediately after deploy — otherwise your notes are open to anyone with the URL. Configure it inconfig.yaml(authentication.enabled: true) per the project's AUTHENTICATION guide. Treat this as a required step, not optional.
Typical cost: ~$5/month on Railway's Hobby plan — NoteDiscovery is free and open source, so you pay only compute. Notion charges $10–15/user/month; Obsidian Sync is $4–8/month per vault. NoteDiscovery on Railway is flat compute with no per-user or per-vault fees.
Deploy in Under 3 Minutes
- Click Deploy on Railway — NoteDiscovery builds automatically (~1–2 minutes)
- Add a persistent volume mounted at
/app/dataso your notes survive redeploys - Enable authentication and change the default password before sharing the URL
- Open your Railway URL — start writing Markdown notes with wikilinks and tags
- (Optional) Connect the MCP server to Claude Desktop or Cursor to let AI work with your notes
No database setup. No SSL config. No lock-in — your notes are just files on the volume.
Common Use Cases
- Self-hosted alternative to Notion — a private, web-based knowledge base with no $10–15/user/month subscription and no cloud storing your notes
- Self-hosted alternative to Obsidian Sync — get a browser-accessible vault with wikilinks and graph view without paying per-vault sync fees; import your existing Obsidian vault directly
- AI-connected second brain — the built-in MCP server lets Claude and Cursor search, create, and organize your notes, turning your knowledge base into an AI-accessible workspace
- Personal wiki or digital garden — build a linked web of notes with backlinks, a live graph view, and click-to-jump outlines, accessible from any device as a PWA
- Research and scientific notes — LaTeX/MathJax equations and Mermaid diagrams render inline, making it a strong fit for technical and academic note-taking
- Portable, grep-able knowledge base — because notes are plain
.mdfiles, you can back them up, version them with Git, or search them from the command line with no export step
Configuration
| Variable | Required | Description |
|---|---|---|
PORT | ✅ Pre-set | 8000 — the port NoteDiscovery listens on |
| — | — | Most settings live in config.yaml on the volume, not in environment variables |
Key settings are in
config.yamlin your data directory: enableauthentication.enabled: trueand set a strong password (the default isadminwith auth off), choose a theme, and configure locales. Mount/app/dataas a persistent volume so your notes and config survive redeploys. Optionally mount alocales/folder to add interface languages.
NoteDiscovery vs. Alternatives
| NoteDiscovery (Railway) | Notion | Obsidian + Sync | Trilium | |
|---|---|---|---|---|
| Monthly cost | ~$5 flat | $10–15/user | $4–8/vault sync | Self-hosted |
| Storage format | ✅ Plain Markdown files | ❌ Proprietary cloud | ✅ Local Markdown | ❌ Database |
| Web-based / self-hosted | ✅ Both | ❌ Cloud only | ⚠️ Desktop + paid sync | ✅ Yes |
| AI via MCP (Claude/Cursor) | ✅ Built-in | ⚠️ Notion AI (paid) | ❌ Plugins | ❌ No |
| Graph view + wikilinks | ✅ Yes | ⚠️ Limited | ✅ Yes | ✅ Yes |
| LaTeX + Mermaid | ✅ Yes | ⚠️ Partial | ✅ Via plugins | ✅ Yes |
| Data ownership | ✅ Your files | ❌ Notion cloud | ✅ Local | ✅ Your server |
| Open source | ✅ MIT | ❌ No | ❌ No | ✅ Yes |
Dependencies for NoteDiscovery Hosting
- Railway account — Hobby plan (~$5/month); NoteDiscovery is light and needs little RAM
- A persistent volume mounted at
/app/datafor your notes and config - Nothing else — no external database; notes are plain Markdown files
Deployment Dependencies
- NoteDiscovery GitHub Repository — source and docs
- NoteDiscovery Website — feature overview
- NoteDiscovery MCP Setup — connect Claude and Cursor
- Railway Volumes Documentation — persistent storage
Implementation Details
This template deploys ghcr.io/gamosoft/notediscovery:latest (Node.js) with a persistent volume
at /app/data, where all notes, drawings, and config.yaml live as plain files. There's no
external database — the file-based design is what makes NoteDiscovery portable and lock-in free.
The app listens on port 8000 and installs as a PWA on desktop or mobile.
The built-in MCP server exposes your notes to AI assistants: configure Claude Desktop or Cursor
to reach your instance and they can search, read, and create notes directly. Because the app
defaults to 0.0.0.0:8000 with authentication off, enabling auth and setting a strong password
is essential on a public Railway deployment — do it before exposing the URL.
Frequently Asked Questions
Is NoteDiscovery a good alternative to Notion or Obsidian? Yes, with a different philosophy: your notes are plain Markdown files you fully own, served through a fast web UI with wikilinks, graph view, LaTeX, and Mermaid. Unlike Notion, nothing lives in a proprietary cloud; unlike Obsidian, it's web-based and self-hosted with no per-vault sync fee. You can import an existing Obsidian vault directly.
How does the MCP / AI integration work? NoteDiscovery includes a built-in Model Context Protocol server. Point Claude Desktop, Cursor, or another MCP client at your instance and the AI can search your notes, create new ones, and organize your knowledge base directly — turning your notes into an AI-accessible workspace.
Is it secure to run on Railway?
It requires one important step: NoteDiscovery ships with authentication disabled and a default
password of admin because it's built for local use. Railway is public by default, so enable
authentication.enabled: true and set a strong password in config.yaml before sharing the URL.
For extra protection, put it behind additional auth or restrict access.
Do I lose my notes if Railway redeploys?
No — as long as you've mounted the persistent volume at /app/data. Your notes are plain Markdown
files stored there and survive redeploys. Without the volume, notes are ephemeral. You can also
back them up any time by copying the folder.
Can I migrate from Obsidian or another Markdown app?
Yes. NoteDiscovery reads standard Markdown with [[wikilinks]], YAML frontmatter, and
Obsidian-style image syntax, so you can drop an existing vault into the data folder. Because
everything is plain files, there's no proprietary import step.
How much does it cost versus Notion or Obsidian Sync? NoteDiscovery on Railway is ~$5/month flat with no per-user or per-vault fees. Notion is $10–15/user/month; Obsidian Sync is $4–8/month per vault. For individuals and small teams, self-hosting is cheaper and gives full data ownership.
Why Deploy and Host NoteDiscovery on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying NoteDiscovery on Railway, you get a private, MIT-licensed knowledge base — Markdown files you own, graph view, LaTeX, drawing editor, and a built-in MCP server for Claude and Cursor — at ~$5/month flat with no subscription and no lock-in.
Template Content
NoteDiscovery
gamosoft/notediscovery:latest