I counted the places a thought of mine could end up last month and stopped at seven, the Apple Notes app on two devices, a Notion page I opened with good intentions, a WhatsApp message to myself, a sticky note that migrated through three desk moves, a markdown file called ideas.txt with no ideas from this year, and a to-do app whose notification badge I had stopped seeing. The problem was never storage, it was friction, because every one of those places demanded a decision before the thought could land, which folder, which page, which format, and a thought that has to wait in line while you organize it usually decides not to wait at all.
Memos is the answer to a question I had been asking wrong, sixty-two thousand stars on GitHub, which makes it one of the most popular self-hosted apps in the world and somehow the least discussed, an open-source note tool shaped like a social feed where the only account is yours. You open the page, there is a box at the top, you type the thought, maybe drop a #tag inline the way a hashtag works, press save, and the thought is now in a searchable timeline, and the entire interaction is shorter than the unlock screen on the apps I was losing thoughts in front of.
The feed shape is what makes it work, because notes arrive as small cards in reverse chronological order with the tags clickable and a heatmap of activity that quietly shames you on the empty weeks. Every memo has a visibility setting, private by default, shareable by link when a note needs to leave the house, and the markdown support means a thought that grows into a list or a code snippet or a table stays readable without ever graduating to a heavier tool. Search covers everything instantly, the calendar view jumps to any past day, and there is an open API, which is how my n8n instance files things into Memos when something happens worth remembering, so some of my best notes were never typed by a human at all.
The compose file is the smallest in my entire stack, and I mean that literally, this is the one I hand people when they want proof that self-hosting does not have to be a project.
services:
memos:
image: neosmemo/memos:stable
restart: unless-stopped
ports:
- "5230:5230"
volumes:
- ./memos-data:/var/opt/memos
One container, no database service, no env file, because Memos carries its own SQLite database inside that data folder and the first page load asks you to create the admin account and you are done, thirty seconds from nothing to typing. It runs happily on a Raspberry Pi, it starts in under a second, and the whole footprint is small enough that I forget it exists until I need it, which is exactly the relationship a capture tool should have with your attention.
The one habit worth building from day one is backups, because the data folder holds everything, database and attachments together in one directory, so the same Restic job that guards the rest of the stack should point at this folder too, and the export feature produces markdown files if you ever want your thoughts in a format no app owns. I learned the backup lesson the hard way in another life with two terabytes, so every new service in my house joins the rotation before it accumulates anything I would miss, and Memos earned that protection in its first week.
Where it lands in the stack matters too, because Memos is capture and not structure, the place a thought goes in three seconds, while BookStack is where documentation lives and Actual Budget is where the money lives, and the boundary is clean. A third of my memos get expanded into something real eventually, a blog post here, a shopping list there, and the rest just stay, a searchable record of what I was thinking on a Tuesday in August, which turns out to be something I did not know I wanted until I had it.
The seven capture places are down to one, the one on my own domain with no sync conflicts and no subscription and no folder decisions, and the thoughts stopped dying in line. Type, tag, save, close the tab, and the thought is home.
If your stray thoughts deserve a permanent home, subscribe to the newsletter.