flatnotes: Take Notes in Self-Hosted Markdown Files

Summary
flatnotes is a self-hosted note-taking web app that stores notes as ordinary Markdown files instead of using a database. It suits people who want searchable, taggable notes they can manage independently of the app.
At a glance
- Language
- Vue
- License
- MIT
- Stars
- 3.2k
- Forks
- 218
- Added to OSRepos
- October 23, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
flatnotes is a web app for writing and finding notes stored as Markdown files in a flat folder. Its database-less approach keeps notes portable: you can edit or move the files outside the app, without relying on a proprietary format or note database.
It is a fit for people who want a simple, self-hosted writing space with full-text search and links between notes, rather than notebooks or a complex knowledge-management system. The app can be run with Docker and offers several authentication options.
Key Features
- Edit Markdown in raw or WYSIWYG mode.
- Find notes with full-text search and tagging.
- Link notes using wikilinks such as
[[My Other Note]]. - Use a responsive interface with light and dark themes.
- Configure a customisable home page.
- Choose among no authentication, read-only access, username and password, or two-factor authentication.
- Access a REST API.
- Keep notes as regular Markdown files, editable outside the app while it is running.
Use Cases
- Self-hosters who want a personal notes app without maintaining a notes database.
- Writers who want Markdown files they can back up, edit, or move using other tools.
- Individuals collecting reference notes who need full-text search and tags instead of folder-based organisation.
- Users building a lightweight personal wiki with links between notes.
Project Facts
- Language: Vue
- License: MIT
- Stars: 3.2k
- Forks: 218
- Topics: markdown, note, note-taking, notes, notes-app, wiki
- Archived: No
Getting Started
The README recommends Docker for self-hosting. For example:
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
Use your own password and secret key for a real deployment. See the repository README and configuration guide for setup options.
Alternatives
- siyuan: SiYuan organizes notes as linked content blocks with references, databases, and flashcards, rather than storing ordinary Markdown files.
Considerations
- You are responsible for running and maintaining the app and its stored files when self-hosting.
- Authentication is configurable, so review the settings and choose an appropriate option before exposing an instance.
- Search uses a cached index, which flatnotes incrementally syncs on startup and during searches.
- The project is intended to stay simple and distraction-free, so it may not suit users looking for notebooks, nested folders, or a feature-heavy workspace.
Comparisons
Source repository
Open the original repository on GitHub.
17 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

ai-observer: Monitor AI Coding Assistant Usage Locally
October 4, 2026
AI Observer is a self-hosted OpenTelemetry backend and dashboard for tracking usage across local AI coding assistants. It brings token and cost data, traces, logs, and metrics together in DuckDB, with both OTLP ingestion and file-based import or watching for supported tools.

agent-observability: Monitor AI Coding Agents Locally
October 3, 2026
A self-hosted OpenTelemetry stack for monitoring Claude Code and OpenAI Codex. It routes telemetry to Prometheus, Loki, and Tempo, then presents usage, performance, and activity in Grafana dashboards.

oomwoo: Build a DIY Robot Vacuum
October 2, 2026
OOMWOO is a planned, hackable robot vacuum built around Raspberry Pi, ROS2 and 2D LiDAR. It is aimed at makers who want to build and customize a locally controlled vacuum, but its hardware and build instructions are still in development.

SwarmLLM: Run Local and Distributed AI Models
October 2, 2026
SwarmLLM runs open AI models on your computer and can pool resources with other computers to run larger models. It also provides OpenAI- and Anthropic-compatible APIs for local apps and agents.