Repolode
dullage

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:EvernoteMicrosoft 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. 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. 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