Finding a good self-hosted Markdown note-taking app can be challenging, but with the recent surge in self-hosting apps, Many Notes could finally be the solution you're looking for.

Whether you're setting up a personal wiki, managing project ideas, or just tracking daily reflections, Many Notes will provide a distraction-free space where you can focus on your tasks without any clutter.

What is Many Notes?

Many Notes is a simple markdown note-taking app designed for ease of use. Quickly create or import your vaults to organize your thoughts effortlessly. Vaults are straightforward storage containers for files. Many Notes allows you to store all files in a single vault or split them into separate ones as needed.

Many Notes Core Features

  • Multiple users: Protect your files behind authentication
  • Multiple vaults per user: Choose how to organize your files
  • OAuth support: Authenticate using one of the supported providers
  • File search: Quickly find what you are looking for
  • Tree view explorer: Fast navigation with relevant actions in the context menu
  • Smart Markdown editor: Write your Markdown notes faster
  • Automatic saving: Focus on writing; saving is automatic
  • Templates: Maintain consistent formatting for your notes
  • Links/backlinks/tags: Improve note organization by connecting related notes
  • Import/export vaults: Easily back up and restore your vaults
  • Light/dark theme: Automatically selected based on your OS setting
  • Mobile friendly: Provides a similar experience to the desktop

Install Many Notes using Docker Compose

Setting up Many Notes is straightforward: simply choose between the Docker and non-Docker options and follow the guide. The Docker method is recommended as it is faster and easier to set up. Additionally, you have a few customization options to tailor the app to your preferences.

First, create a new directory called many-notes with the following structure:

many-notes/
├── database/database.sqlite
├── storage-logs/
├── storage-private/
├── storage-public/
├── storage-sessions/
├── compose.yaml
└── Dockerfile

Next, add this to the Dockerfile file:

FROM brufdev/many-notes:latest
USER root
ARG UID
ARG GID
RUN docker-php-serversideup-set-id www-data $UID:$GID && \
    docker-php-serversideup-set-file-permissions --owner $UID:$GID --service nginx
USER www-data

Finally, add this to the compose.yaml file:

services:
  php:
    build:
      context: .
      args:
        UID: USER_ID # change id
        GID: GROUP_ID # change id
    restart: unless-stopped
    volumes:
      - ./database/database.sqlite:/var/www/html/database/database.sqlite
      - ./storage-logs:/var/www/html/storage/logs
      - ./storage-private:/var/www/html/storage/app/private
      - ./storage-public:/var/www/html/storage/app/public
      - ./storage-sessions:/var/www/html/storage/framework/sessions
    ports:
      - 80:8080

You can follow the development, report issues, or make suggestions on the official Many Notes GitHub page. All feedback is appreciated, and if you find Many Notes useful, consider leaving a star on GitHub. Happy self-hosting!

GitHub - brufdev/many-notes: Markdown note-taking app designed for simplicity
Markdown note-taking app designed for simplicity. Contribute to brufdev/many-notes development by creating an account on GitHub.

Hosthatch

High performance compute VMs, with dedicated CPU allocations and extremely high IOPS NVMe disks. Deploy in 16 edge locations, and deliver consistently high-performance to your users, regardless of where they are located.

Starting at $4/mo
Blinko - Self-Hosted Notes with AI RAG Baked In
What do you get when you mix note taking, micro blogging, pastebin, task management and AI? Blinko!