Memos
A self-hosted, Markdown-native note service designed for quick capture and personal knowledge records.
Why consider Memos?
An open-source, self-hosted note-taking application designed for quick capture using a timeline-first interface.
Learn Memos by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Memos is an open-source, self-hosted note-taking app built for quick capture. Unlike complex wiki systems or heavily structured notebook applications, Memos favors a timeline-first interface to keep note-taking simple. This design choice removes the friction of creating folders, deciding on categorization, or choosing templates before capturing a thought. The workflow is straightforward: open the app, write your note, and move on. It is designed to act as a private timeline for daily logs, useful links, code snippets, and fleeting thoughts. [1]
Core Concepts and Storage
At the center of Memos is the commitment to data privacy and ownership. By self-hosting the application, you maintain complete control of your data without relying on third-party cloud services or telemetry. [1] The platform is Markdown-native, meaning you write in a format that stays readable, portable, and easy to back up anywhere. [2]
Memos avoids vendor lock-in by supporting standard database backends. Under the hood, the application runs as a single Go binary or a Docker container and supports SQLite, MySQL, or PostgreSQL for data storage. [1] Because it is engineered to be lightweight, you can comfortably deploy it on a small VPS, a home NAS, or even a low-power device like a Raspberry Pi. The combination of portability and self-hosting makes it well-suited for developers, makers, and anyone who wants to keep a private stream of knowledge accessible across all their devices.
Running Memos via Docker
The officially recommended way to deploy Memos is through Docker. The deployment process requires only a single command, making it easy to test locally or spin up on a production server. The default setup maps a local directory (~/.memos) to the container's internal data directory, ensuring your SQLite database and any uploaded files are securely persisted across container restarts.
docker run -d \ --name memos \ -p 5230:5230 \ -v ~/.memos:/var/opt/memos \ neosmemo/memos:stableOnce the container is actively running, the application serves its web interface on port 5230. You can immediately access it by navigating to http://localhost:5230 in your web browser. Upon your very first visit, you will be prompted to create the initial administrative account and can immediately begin writing to your timeline. [1]
Extending the Capture Workflow
Capturing notes quickly extends far beyond the main web application. To streamline the process of saving information directly from the web, the project offers an official Web Clipper extension for Chrome and Firefox. [1] This extension allows you to save full web pages, selected text snippets, and images directly into your running Memos instance. You can configure the visibility of each clip and review the Markdown output before it is committed to your timeline.
Additionally, because Memos exposes its functionality through comprehensive REST and gRPC APIs, developers can freely integrate the application with their existing workflows. [1] Whether you want to script automated daily summaries, push server alerts to a private feed, or build completely custom frontends, the APIs provide the necessary programmatic hooks to interact directly with your Memos data.
Sources:
Related tools
More options with a similar category or technology profile.
Mayan EDMS
Free Open Source Electronic Document Management System with digital signatures.
Docspell
Personal document organizer that automates OCR, tagging, and metadata extraction.
Gollum
Simple, Git-powered wiki system that powers GitHub Wikis.
Docsify
A magical documentation site generator that parses Markdown on the fly.