NoteDiscovery is a free, open source documentation & knowledge base project written in JavaScript and released under MIT. It has 2,807 GitHub stars, 233 forks and 4 open issues, and was last pushed 14 hours ago. On this registry it ranks #35 of 40 tracked projects in Documentation & Knowledge Base, with 5 head-to-head comparisons available.

What is NoteDiscovery?

NoteDiscovery is a lightweight, self-hosted note-taking and knowledge base application, written in JavaScript and released under the MIT licence, that stores every note as a plain markdown file in folders on your own server and is aimed at privacy-conscious individuals, developers, knowledge workers, and teams who want to own their data.

What it is

NoteDiscovery is a self-hosted note-taking application distributed as a Docker image, ghcr.io/gamosoft/notediscovery:latest. It runs on your own server, serves its interface on port 8000, and persists everything through a mounted data volume at /app/data. Notes are plain markdown files organised into folders, so the knowledge base stays readable and portable outside the application itself. Deployment lives in the Docker ecosystem, the application stack belongs to the FastAPI family, and the topics list marks the project as an alternative in the note-taking and knowledge-base space.

The concrete problem it solves is dependence on commercial note services for storage, sync, and access. NoteDiscovery replaces that arrangement for users who want their notes to remain files on hardware they control, rather than records held on a vendor's servers under a vendor's terms. It targets Notion, Evernote, and Obsidian Sync specifically, and reaches users who work offline or on restricted networks: the application and its shared links serve every browser library locally, so no CDN is required.

Key capabilities

  • Plain markdown files in folders as the primary storage format, which keeps the knowledge base free of proprietary lock-in.
  • A built-in Model Context Protocol (MCP) server, started with python -m mcp_server, that lets AI assistants search, create, edit, tag, and reorganise notes; setup is documented in documentation/MCP.md.
  • No CDN dependency: the application and its shared links serve all browser libraries locally, so they function on air-gapped networks, as described in documentation/THIRD_PARTY.md.
  • Optional password protection for self-hosted deployments.
  • Graph view for visualising connections between notes, alongside favorites for frequently used notes and an outline panel with click-to-jump headings.
  • LaTeX and MathJax support for equations, plus HTML export and print output for individual notes.
  • A drawing editor that stores sketches as drawing-*.png files next to your notes, documented in documentation/DRAWING.md, together with a plugin system, multiple themes, and a responsive interface for desktop, tablet, and mobile.

Who uses it and how

  • Privacy-conscious users and operators of air-gapped or restricted networks, who rely on the local browser libraries and the absence of a CDN requirement.
  • Developers who prefer markdown and local file storage over a hosted database, and who read the notes directly from the mounted volume.
  • Knowledge workers building a personal wiki or second brain, using the graph view, backlinks, outline panel, and favorites to navigate a growing collection.
  • Teams that want a self-hosted replacement for commercial note applications, running a single container with one attached volume and sharing links from it.
  • AI-assisted workflows, where Cursor, Claude Desktop, or another MCP-compatible tool connects to the MCP server; a fully local stack combining NoteDiscovery, Ollama, and Open WebUI is described in OLLAMA-STACK.md.

Getting started

Installation is a single Docker command: create a data directory and run the image with the volume and port mapped, for example docker run -d --name notediscovery -p 8000:8000 -v $(pwd)/data:/app/data ghcr.io/gamosoft/notediscovery:latest, with a PowerShell equivalent for Windows. The project homepage is at https://www.notediscovery.com.

How it compares

The README contrasts NoteDiscovery directly with Notion, Evernote, and Obsidian Sync on cost, privacy, offline behaviour, customisation, and lock-in. Those products are commercial and charge a recurring subscription, while NoteDiscovery is MIT-licensed and free to run; they hold notes on their own servers under their own terms, while NoteDiscovery keeps notes on your server; and they commonly use proprietary formats, while NoteDiscovery writes plain markdown files. The README also notes that commercial applications depend on an internet connection and offer limited or sync-dependent offline behaviour, whereas NoteDiscovery is designed to work offline.

When to use it — and when not to

A self-hoster must operate the Docker container itself, expose port 8000, mount and back up the /app/data volume, and take responsibility for securing the deployment. It is not the right choice for teams that need real-time collaborative editing or granular per-user roles and permissions, since the README describes only optional password protection for the deployment rather than a multi-user permission model. The README excerpt is brief and several capabilities are documented only in linked files such as documentation/MCP.md, documentation/DRAWING.md, documentation/THIRD_PARTY.md, and OLLAMA-STACK.md, so those should be read before committing to it.

project readme (upstream, from github) — read inline

GitHub Stars Build Latest Version GHCR Pulls License

NoteDiscovery

Your Self-Hosted Knowledge Base

What is NoteDiscovery?

NoteDiscovery is a lightweight, self-hosted note-taking application that puts you in complete control of your knowledge base. Write, organize, and discover your notes with a beautiful, modern interface—all running on your own server.

Write · Find · Discover

🎯 Who is it for?

  • Privacy-conscious users who want complete control over their data
  • Developers who prefer markdown and local file storage
  • Knowledge workers building a personal wiki or second brain
  • Teams looking for a self-hosted alternative to commercial apps
  • Anyone who values simplicity, speed, and ownership

  

Run on PikaPods    Buy Me a Coffee at ko-fi.com


✨ Why NoteDiscovery?

vs. Commercial Apps (Notion, Evernote, Obsidian Sync)

Feature NoteDiscovery Commercial Apps
Cost 100% Free $xxx/month/year
Privacy Your server, your data Their servers, their terms
Speed Lightning fast Depends on internet
Offline Always works Limited or requires sync
Customization Full control Limited options
No Lock-in Plain markdown files Proprietary formats

Key Benefits

  • 🔒 Total Privacy - Your notes never leave your server
  • 📴 No CDN Required - The app and its shared links serve every browser library locally, so they work on air-gapped networks — see documentation/THIRD_PARTY.md
  • 🔐 Optional Authentication - Simple password protection for self-hosted deployments
  • 💰 Zero Cost - No subscriptions, no hidden fees
  • 🚀 Fast & Lightweight - Instant search and navigation
  • 🎨 Beautiful Themes - Multiple themes, easy to customize
  • 🔌 Extensible - Plugin system for custom features
  • 📱 Responsive - Works on desktop, tablet, and mobile
  • 📂 Simple Storage - Plain markdown files in folders
  • 🧮 Math Support - LaTeX/MathJax for beautiful equations
  • 📄 HTML Export & Print - Export notes as standalone HTML or print
  • 🕸️ Graph View - Interactive visualization of connected notes
  • ✏️ Drawing editor - In-app sketches as drawing-*.png next to your notes — see documentation/DRAWING.md
  • Favorites - Star your most-used notes for instant access
  • 📑 Outline Panel - Navigate headings with click-to-jump TOC
  • 🤖 AI Assistant Ready - MCP integration for Claude, Cursor & more

🤖 AI-Powered Note Management

MCP Compatible Works with Claude Works with Cursor

NoteDiscovery includes a built-in Model Context Protocol (MCP) server, letting AI assistants directly interact with your notes:

What AI Can Do Example
🔍 Search & Discover "Find all my notes about Docker deployment"
📝 Create & Edit "Create a meeting notes template for tomorrow"
📁 Organize "Move all project notes to the archive folder"
🏷️ Tag & Categorize "List all notes tagged with #urgent"
📊 Explore Connections "Show me the knowledge graph of my notes"
✍️ Append Ideas "Add this thought to my daily journal"

One-line setup for Cursor, Claude Desktop, and other MCP-compatible tools:

{
  "mcpServers": {
    "notediscovery": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "NOTEDISCOVERY_URL=http://host.docker.internal:8000", "ghcr.io/gamosoft/notediscovery:latest", "python", "-m", "mcp_server"]
    }
  }
}

💡 See MCP.md for complete setup instructions and all available tools.

🧪 Want a fully local setup with a bundled LLM? OLLAMA-STACK.md spins up NoteDiscovery + Ollama + Open WebUI with one command.

📺 Watch the tour

Watch a short tour

▶ Small walkthrough — sharing, favorites, search, backlinks, and more

🚀 Quick Start

Quick Setup

Linux/macOS:

mkdir -p notediscovery/data && cd notediscovery
docker run -d --name notediscovery -p 8000:8000 \
  -v $(pwd)/data:/app/data \
  ghcr.io/gamosoft/notediscovery:latest

Windows (PowerShell):

mkdir notediscovery\data; cd notediscovery
docker run -d --name notediscovery -p 8000:8000 `
  -v ${PWD}/data:/app/data `
  ghcr.io/gamosoft/notediscovery:latest

Open http://localhost:8000 — done! 🎉

💡 Your notes are saved in ./data/. Themes, plugins, locales and default configuration values are included in the image.

Using Docker Compose

Two docker-compose files are provided:

File Use Case
docker-compose.ghcr.yml Recommended - Uses pre-built image from GitHub Container Registry
docker-compose.yml For development - Builds from local source
docker-compose.ollama-stack.yml Bundled local AI stack (NoteDiscovery + Ollama + Open WebUI) — see OLLAMA-STACK.md

Option 1: Pre-built image (fastest)

Linux/macOS:

mkdir -p notediscovery/data && cd notediscovery
curl -O https://raw.githubusercontent.com/gamosoft/notediscovery/main/docker-compose.ghcr.yml
docker-compose -f docker-compose.ghcr.yml up -d

Windows (PowerShell):

mkdir notediscovery\data; cd notediscovery
Invoke-WebRequest -Uri https://raw.githubusercontent.com/gamosoft/notediscovery/main/docker-compose.ghcr.yml -OutFile docker-compose.ghcr.yml
docker-compose -f docker-compose.ghcr.yml up -d

Option 2: Build from source (for development)

git clone https://github.com/gamosoft/notediscovery.git
cd notediscovery
docker-compose up -d

See Advanced Docker Setup for volume details.

Running Locally (Without Docker)

For development or if you prefer running directly:

# Clone the repository
git clone https://github.com/gamosoft/notediscovery.git
cd notediscovery

# Install dependencies
pip install -r requirements.txt

# Run the application
python run.py

# Access at http://localhost:8000

Requirements:

  • Python 3.8 or higher
  • pip (Python package manager)
Using Virtual Environments (Recommended for Arch/Fedora/Ubuntu 23.04+)

Modern Linux distributions enforce [PEP 668](https://peps.python.org

readme truncated — read the full docs on github

Frequently asked questions

Is NoteDiscovery free to use?

NoteDiscovery is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does NoteDiscovery do?

Your Self-Hosted Knowledge Base

What is NoteDiscovery written in?

NoteDiscovery is primarily written in JavaScript. Its source is publicly available at https://github.com/gamosoft/NoteDiscovery, and it has 2,807 GitHub stars.