Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours. https://usememos.com
  • Go 52.8%
  • TypeScript 46.4%
  • Shell 0.4%
  • CSS 0.3%
Find a file
boojack dcf08b5911 chore(ci): share Go and web setup through composite actions
Add .github/actions/setup-go (Go version from go.mod) and
.github/actions/setup-web (pnpm from web/package.json, Node 24,
frozen install), and use them in every workflow that installed the
toolchains by hand. Drop the per-workflow version env vars and the
redundant pnpm store cache steps that duplicated setup-node's cache.
2026-10-27 20:22:30 +08:00
.agents/skills/release chore: switch release versions to YY.MM.N (#6469) 2026-10-14 19:26:59 +08:00
.github chore(ci): share Go and web setup through composite actions 2026-10-27 20:22:30 +08:00
cmd/memos chore: switch release versions to YY.MM.N (#6469) 2026-10-14 19:26:59 +08:00
core feat: filter memos by attachments and images (#6492) 2026-10-22 18:58:45 +08:00
docs/design feat: filter memos by attachments and images (#6492) 2026-10-22 18:58:45 +08:00
filter feat: filter memos by attachments and images (#6492) 2026-10-22 18:58:45 +08:00
internal refactor(server): replace Echo with net/http (#6475) 2026-10-15 09:32:02 +08:00
markdown feat: filter memos by attachments and images (#6492) 2026-10-22 18:58:45 +08:00
proto docs(api): record the double-click setting removal under Unreleased 2026-10-26 22:12:18 +08:00
provider refactor: name packages by role and enforce import direction (#6317) 2026-09-13 18:22:54 +08:00
scripts chore: switch release versions to YY.MM.N (#6469) 2026-10-14 19:26:59 +08:00
server fix(api): return JSON media type for authorization errors (#6504) 2026-10-26 21:13:08 +08:00
store feat: filter memos by attachments and images (#6492) 2026-10-22 18:58:45 +08:00
web chore(editor): add a Markdown mode corner label 2026-10-26 20:55:48 +08:00
.dockerignore chore: streamline ignore rules 2026-08-22 10:34:28 +08:00
.gitignore refactor: name packages by role and enforce import direction (#6317) 2026-09-13 18:22:54 +08:00
.golangci.yaml fix: upgrade golang.org/x/net, grpc and Go to 1.27.2 (CVE-2026-78669, CVE-2026-84445) (#6453) 2026-10-11 09:20:42 +08:00
AGENTS.md chore(ci): share Go and web setup through composite actions 2026-10-27 20:22:30 +08:00
CODEOWNERS chore: tweak CODEOWNERS 2026-03-05 19:14:16 +08:00
CONTEXT.md feat(space): add client-defined UIDs and identity cues 2026-08-28 00:33:09 +08:00
go.mod refactor(server): replace Echo with net/http (#6475) 2026-10-15 09:32:02 +08:00
go.sum refactor(server): replace Echo with net/http (#6475) 2026-10-15 09:32:02 +08:00
LICENSE chore: update LICENSE (#4394) 2025-02-11 15:45:20 +08:00
README.md docs: sync README branding from .github 2026-10-20 21:15:48 +08:00
SECURITY.md chore: update security.md 2026-04-01 08:39:49 +08:00

✨ Featured sponsor: CodeRabbit — Industry-leading AI code reviews.

Memos

Simple note-taking for your everyday thoughts.

Memos is an open-source, self-hosted note-taking app that brings your everyday thoughts together in a personal timeline. Your data stays yours, and you choose what to keep private or share.

Demo · Install · Docs · Discord

Docker pulls Latest release

The Memos timeline with a memo composer and recent memos

About Memos

Memos is an open-source, self-hosted note-taking app for your everyday thoughts.

  • Everyday writing. A single sentence can be a whole memo, or you can take your time with a longer entry, using Markdown to give your words more structure.
  • A personal timeline. Each memo stays with the day you wrote it, bringing your thoughts together in a timeline you can look back through. Tags connect related thoughts across those days, making it easy to pick up a topic again or find something you remember writing.
  • Your own data. Your record lives on your own server, and your data stays yours.
  • Sharing you control. You choose what stays private, what to share with family and friends, and what to publish on the web. In shared spaces, you can write alongside others while each person keeps their own memos.

Quick start

With Docker installed, run:

docker run -d \
  --name memos \
  -p 5230:5230 \
  -v ~/.memos:/var/opt/memos \
  neosmemo/memos:stable

Open http://localhost:5230 and create the first account. Everything Memos keeps is in ~/.memos, so back up that one folder.

Other ways to run Memos, including Docker Compose, Kubernetes, and a plain binary, are in the deployment guide.

Upgrading

Releases are tagged YY.MM.N, with release candidates as YY.MM.N-rc.K and no v prefix. The Docker tag stable follows stable releases, a month tag such as 26.10 follows the newest stable release of that month, and canary follows development builds. Coming from a release before v0.31.0, run v0.31.0 once first; see the upgrade requirements.

Around Memos

  • Web Clipper for Chrome and Firefox saves pages, selections, and images to your memos as Markdown with a link to the source.
  • Memogram is a Telegram bot that saves your messages and images to Memos.
  • The API and MCP server connect Memos to your own scripts and AI tools.

Sponsors

CodeRabbit        TestMu AI

Sponsor Memos through GitHub Sponsors.

Help and contributing

Questions go to the docs, Discord, or GitHub Discussions. Bugs and ideas go to issues. Code changes start with the contributing guide.

Star History

Star History Rank GitHub Trending Repository of the Day

License

Memos is open source under the MIT License.