flatnotes: A Self-Hosted, Database-less Note-Taking Web App

This repository profile is provided by osrepos.com, an open source repository discovery platform.

flatnotes: A Self-Hosted, Database-less Note-Taking Web App

Summary

flatnotes is a self-hosted, database-less note-taking web application designed for simplicity and efficiency. It stores all your notes as plain markdown files, ensuring you retain full control and avoid vendor lock-in. This app offers a distraction-free interface with powerful search and tagging capabilities.

Repository Information

Analyzed by OSRepos on October 23, 2025

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.

Introduction

flatnotes is an innovative, self-hosted, database-less note-taking web application that prioritizes simplicity and user control. It stores all your notes as plain markdown files within a flat folder structure, eliminating the need for complex databases or proprietary formats. This design ensures that your notes are always accessible and portable, freeing you from vendor lock-in.

Designed to be distraction-free, flatnotes offers a clean and intuitive user interface. It focuses on putting your note content first, complemented by powerful search and tagging functionalities. You can explore a live demo of flatnotes to experience its features firsthand: flatnotes Demo.

Installation

flatnotes provides flexible options for deployment, whether you prefer a managed service or self-hosting. For a quick and easy setup, you can deploy flatnotes through PikaPods, a hosted solution.

For those who prefer to self-host, Docker is the recommended method, offering robust and consistent deployment across various environments. Below are examples demonstrating how to get flatnotes up and running using Docker commands or Docker Compose.

Examples

Docker Run Command

To quickly launch flatnotes using a Docker run command, you can use the following:

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

Docker Compose Example

For a more persistent and configurable setup, Docker Compose is an excellent choice. Here's an example docker-compose.yml file:

version: "3"

services:
  flatnotes:
    container_name: flatnotes
    image: dullage/flatnotes:latest
    environment:
      PUID: 1000
      PGID: 1000
      FLATNOTES_AUTH_TYPE: "password"
      FLATNOTES_USERNAME: "user"
      FLATNOTES_PASSWORD: "changeMe!"
      FLATNOTES_SECRET_KEY: "aLongRandomSeriesOfCharacters"
    volumes:
      - "./data:/data"
      # Optional. Allows you to save the search index in a different location: 
      # - "./index:/data/.flatnotes"
    ports:
      - "8080:8080"
    restart: unless-stopped

For a comprehensive list of configuration options and environment variables, refer to the flatnotes Wiki.

Why Use flatnotes?

flatnotes stands out with its commitment to simplicity, control, and efficiency. Key features and design principles include:

  • Distraction-Free Interface: A clean and simple user interface that puts your note content first.
  • No Vendor Lock-in: Your notes are plain markdown files, easily transferable to other applications. There's no database or proprietary formatting.
  • Powerful Search and Tagging: Quickly find any note with advanced full-text search and flexible tagging functionality.
  • Mobile Responsive: Access and manage your notes seamlessly from any device.
  • Flexible Editing: Choose between raw markdown or a WYSIWYG editor mode.
  • Wikilink Support: Easily link to other notes within your collection using [[My Other Note]].
  • Customization: Personalize your experience with customizable home pages and light/dark themes.
  • Secure Access: Multiple authentication options, including username/password and 2FA.
  • API Access: A Restful API for programmatic interaction with your notes.

The application also intelligently handles external changes to your markdown files, incrementally syncing its search index, allowing you to edit notes outside of flatnotes even while it's running.

Links

Related repositories

Similar repositories that may be relevant next.

Nikola: A Powerful Static Website and Blog Generator

Nikola: A Powerful Static Website and Blog Generator

August 6, 2026

Nikola is an open-source static website and blog generator written in Python. It transforms content into a deployable website, offering a secure and resource-efficient alternative to dynamic sites. With features like theming, fast builds, and multilingual support, Nikola is a versatile tool for web development.

pythonstatic-sitestatic-site-generator
html2text: Convert HTML to Clean, Readable Markdown Text in Python

html2text: Convert HTML to Clean, Readable Markdown Text in Python

July 25, 2026

html2text is a powerful Python script designed to transform HTML content into clean, easy-to-read plain ASCII text, formatted as valid Markdown. This tool is ideal for developers needing to process web content or convert rich text into a more manageable, structured plain text format. It offers both command-line utility and a flexible Python API for integration into projects.

markdownmarkdown-parserpython
Notes: A Fast and Beautiful Cross-Platform Note-Taking App

Notes: A Fast and Beautiful Cross-Platform Note-Taking App

June 18, 2026

Notes is an open-source, cross-platform note-taking application designed for speed and beauty. Written in C++ with Qt, it offers robust features like Markdown support, Kanban boards for tasks, and comprehensive organization options. This app prioritizes user privacy, ensuring a secure and efficient environment for capturing your thoughts.

note-taking-appcross-platformmarkdown
Sphinx: The Intelligent Documentation Generator for Python Projects

Sphinx: The Intelligent Documentation Generator for Python Projects

February 6, 2026

Sphinx is a powerful documentation generator that simplifies the creation of intelligent and beautiful documentation. It leverages reStructuredText as its markup language and offers extensive features for various output formats, cross-references, and an active extension ecosystem. Widely used, it provides a robust solution for technical writing needs across multiple programming languages.

documentationpythonrestructuredtext

Source repository

Open the original repository on GitHub.

9 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️