A free, self-hosted note-taking app with rich text and Markdown notes, task lists, a diary, and sharing, offered as an alternative to Notion and Obsidian.
dullage/flatnotes
A self-hosted, database-less note-taking web app that stores notes as a flat folder of markdown files.
Open-source alternative to:Evernote
Microsoft OneNote
- Stars
- 3,262
- Forks
- 219
- Open issues
- 124
- Last commit
- 2 months ago
What is it?
flatnotes is a self-hosted web app for taking notes. Every note is a plain markdown file in a single flat folder, with no database and no folder hierarchy, so the files remain usable by any other editor if you move them away.
The interface is built around the note content: full-text search is available from anywhere with the "/" shortcut, notes can be tagged, and wikilinks such as [[My Other Note]] connect notes to each other. The editor offers raw markdown and WYSIWYG modes, and the light and dark themes are switchable.
Access can be left open, set to read-only, or protected with a username and password plus 2FA. The project provides a REST API and runs in Docker, with configuration done through environment variables.
Key features
- 01Stores notes as plain markdown files in one flat folder, with no database.
- 02Full-text search reachable from anywhere with the "/" shortcut.
- 03Raw markdown and WYSIWYG editor modes.
- 04Note tagging and wikilinks between notes.
- 05Mobile-responsive interface with light and dark themes.
- 06Authentication options: none, read-only, username/password, or 2FA.
- 07Provides a RESTful API.
Use cases
- Keeping a personal knowledge base of markdown notes on your own server.
- Editing notes in flatnotes while also editing the same files directly in another tool.
- Sharing a read-only notes site with others on a private network.
- Migrating away later without export steps, since the notes are already plain files.
Quick start
- 1
Run the Docker container with password authentication
docker run -d \ -e "PUID=1000" \ -e "PGID=1000" \ -e "FLATNOTES_AUTH_TYPE=password" \ -e "FLATNOTES_USERNAME=user" \ -e 'FLATNOTES_PASSWORD=changeMe!' \ -e "FLATNOTES_SECRET_KEY=aLongRandomSeriesOfCharacters" \ -v "$(pwd)/data:/data" \ -p "8080:8080" \ dullage/flatnotes:latest - 2
Open http://localhost:8080 in your browser and log in
Things to know
- Self-hosting is recommended via Docker, so you need Docker set up to run it.
- The demo site resets every 15 minutes, so it is only suitable for trying it out.
In collections
Topics
FAQ
- What is flatnotes?
- A self-hosted, database-less note-taking web app that stores notes as a flat folder of markdown files. flatnotes is a self-hosted web app for taking notes. Every note is a plain markdown file in a single flat folder, with no database and no folder hierarchy, so the files remain usable by any other editor if you move them away.
- Is flatnotes free to use? What license does it have?
- flatnotes is open source under the MIT license. Check the license terms before using it in commercial products.
- Is flatnotes still maintained?
- Updated within 6 months. The last commit to flatnotes was on Aug 29, 2026.
- What can I use flatnotes for?
- Keeping a personal knowledge base of markdown notes on your own server. Editing notes in flatnotes while also editing the same files directly in another tool. Sharing a read-only notes site with others on a private network. Migrating away later without export steps, since the notes are already plain files.
- How do I install flatnotes?
- Run the Docker container with password authentication: docker run -d \ -e "PUID=1000" \ -e "PGID=1000" \ -e "FLATNOTES_AUTH_TYPE=password" \ -e "FLATNOTES_USERNAME=user" \ -e 'FLATNOTES_PASSWORD=changeMe!' \ -e "FLATNOTES_SECRET_KEY=aLongRandomSeriesOfCharacters" \ -v "$(pwd)/data:/data" \ -p "8080:8080" \ dullage/flatnotes:latest Open http://localhost:8080 in your browser and log in
- Where can I get flatnotes?
- The source code and installation instructions are on GitHub: https://github.com/dullage/flatnotes
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A native macOS Markdown note app that stores notes as plain files in a folder you choose, with split editor and preview.
Self-hosted notes app in a single Go binary, storing notes as Markdown files alongside a local SQLite database with full-text search.
A lightweight, cross-platform PWA for personal note-taking with Markdown support, device sync and end-to-end encryption.
An end-to-end encrypted note-taking app with sync across devices, plus files and a self-hostable sync server.
A free, open-source desktop and self-hosted note-taking app for building large hierarchical personal knowledge bases.