A lightweight, self-hosted memo hub. Open Source and Free forever.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
boojack c1236392d3 chore(main): release 0.30.0 2 days ago
.github fix(ci): stamp canary image with semantic version 3 days ago
cmd/memos feat(auth): add private instance mode derived from instance_url 6 days ago
docs feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 4 weeks ago
internal feat(filter): fold now.getXxx() accessors for dynamic date-part filters 4 days ago
proto chore(proto): regenerate with updated protoc plugins 4 days ago
scripts fix(scripts): prevent entrypoint restart loop when MEMOS_UID=0 1 week ago
server feat(auth): add private instance mode derived from instance_url 6 days ago
store refactor: use the built-in max/min to simplify the code (#6060) 1 week ago
web fix(editor): let CodeMirror own caret layout 2 days ago
.dockerignore perf: optimize CI/CD workflows and Docker builds 6 months ago
.gitignore feat(auth): add SSO user identity linkage (#5883) 3 months ago
.golangci.yaml fix(ci): remove invalid revive rule 'use-waitgroup-go' from golangci-lint config 6 months ago
.release-please-manifest.json chore(main): release 0.30.0 2 days ago
AGENTS.md docs: rewrite agent repository guide 1 month ago
CHANGELOG.md chore(main): release 0.30.0 2 days ago
CODEOWNERS chore: tweak CODEOWNERS 4 months ago
LICENSE chore: update LICENSE (#4394) 1 year ago
README.md chore: tweak readme 1 week ago
SECURITY.md chore: update security.md 3 months ago
go.mod feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 4 weeks ago
go.sum feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 4 weeks ago
release-please-config.json chore: add release-please automation (#5842) 3 months ago

README.md

Featured Sponsor: CodeRabbit — Cut code review time & bugs in half, instantly.

Memos

Memos

Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.

Home Live Demo Docs Discord Docker Pulls

Memos Demo Screenshot

Features

  • Instant Capture — Timeline-first UI. Open, write, done — no folders to navigate.
  • Total Data Ownership — Self-hosted on your infrastructure. Notes stored in Markdown, always portable. Zero telemetry.
  • Radical Simplicity — Single Go binary, ~20MB Docker image. One command to deploy with SQLite, MySQL, or PostgreSQL.
  • Open & Extensible — MIT-licensed with full REST and gRPC APIs for integration.

Quick Start

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

Open http://localhost:5230 and start writing!

Native Binary

curl -fsSL https://raw.githubusercontent.com/usememos/memos/main/scripts/install.sh | sh

Try the Live Demo

Don't want to install yet? Try our live demo first!

Other Installation Methods

  • Docker Compose - Recommended for production deployments
  • Pre-built Binaries - Available for Linux, macOS, and Windows
  • Kubernetes - Helm charts and manifests available
  • Build from Source - For development and customization

See our installation guide for detailed instructions.

Contributing

Contributions are welcome — bug reports, feature suggestions, pull requests, documentation, and translations.

Sponsors

Love Memos? Sponsor us on GitHub to help keep the project growing!

Star History

Star History Chart

License

Memos is open-source software licensed under the MIT License. See our Privacy Policy for details on data handling.


WebsiteDocumentationDemoDiscordX/Twitter

Vercel OSS Program