Memos — a uduapp (upstream: usememos/memos)
Find a file
johnnyjoygh ec689c3a03 chore(sidebar): replace static mode with a library-content fallback
The rail had two navigation grammars for the same destinations: a
compact icon strip on recognized routes, and StaticNavigation — full
labeled rows — on everything else (/about, /403, /404, wildcard).
Crossing onto one of those pages rearranged the entire rail, and any
route nobody remembered to classify silently inherited the alternate
layout.

Make the frame invariant instead: header, global strip, contextual
content, footer — on every route. Pages without a specific sidebar
tenant now fall back to the default library content (the home
collection for signed-in users, explore for guests), following the
convention that error and utility pages render inside the persistent
shell rather than degrading it. The memo-detail route gets the same
fallback while the page has not yet published its descriptor, instead
of a blank scroll area.

Off the collection routes the library is display-plus-navigation, so
StatisticsView and TagsSection accept a navigationTarget: calendar and
tag clicks land on / or /explore with the filter in the query string,
which RootLayout's route-change effect would otherwise wipe.

StaticNavigation is deleted, About returns to living only in the user
menu (the showAbout prop is gone), and the guest strip now marks About
active on /about.
2026-08-07 00:04:04 +08:00
.github chore(ci): remove stale issue and pull request automation (#6133) 2026-08-02 21:19:03 +08:00
cmd/memos feat(config): provision settings from secret files 2026-07-13 22:34:24 +08:00
docs fix(markdown): support word-internal apostrophes in tags (#6135) 2026-08-02 21:08:57 +08:00
internal fix(markdown): support word-internal apostrophes in tags (#6135) 2026-08-02 21:08:57 +08:00
proto feat(user): define username format and mention syntax (#6134) 2026-08-02 19:57:16 +08:00
scripts test(release): cover 0.30.0 changelog promises 2026-07-26 22:21:19 +08:00
server fix(api): omit unset message fields from gateway JSON (#6156) 2026-08-06 23:21:21 +08:00
store feat(user): define username format and mention syntax (#6134) 2026-08-02 19:57:16 +08:00
web chore(sidebar): replace static mode with a library-content fallback 2026-08-07 00:04:04 +08:00
.dockerignore perf: optimize CI/CD workflows and Docker builds 2026-01-14 22:12:28 +08:00
.gitignore feat(auth): add SSO user identity linkage (#5883) 2026-04-23 08:51:45 +08:00
.golangci.yaml fix(ci): remove invalid revive rule 'use-waitgroup-go' from golangci-lint config 2026-01-06 21:12:40 +08:00
.release-please-manifest.json chore(main): release 0.30.0 (#6110) 2026-07-26 23:45:43 +08:00
AGENTS.md docs: rewrite agent repository guide 2026-06-05 09:17:22 +08:00
CHANGELOG.md chore(main): release 0.30.0 (#6110) 2026-07-26 23:45:43 +08:00
CODEOWNERS chore: tweak CODEOWNERS 2026-03-05 19:14:16 +08:00
go.mod fix: upgrade golang.org/x/crypto to 0.52.0 (CVE-2026-39829) (#6152) 2026-08-06 15:25:04 +08:00
go.sum fix: upgrade golang.org/x/crypto to 0.52.0 (CVE-2026-39829) (#6152) 2026-08-06 15:25:04 +08:00
LICENSE chore: update LICENSE (#4394) 2025-02-11 15:45:20 +08:00
README.md docs: polish README and add web clipper 2026-07-18 23:43:21 +08:00
release-please-config.json chore(release): disable prerelease 2026-07-26 21:30:23 +08:00
SECURITY.md chore: update security.md 2026-04-01 08:39:49 +08:00

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

Memos

Memos

Memos is an open-source, self-hosted note-taking app built for quick capture. It is Markdown-native, lightweight, and keeps your data under your control.

Home Live Demo Docs Discord Docker Pulls

Memos Demo Screenshot

Features

  • Capture quickly — A timeline-first interface keeps note-taking simple: open, write, and move on.
  • Own your data — Self-host Memos on your infrastructure with no telemetry.
  • Deploy anywhere — Run a single Go binary or Docker container with SQLite, MySQL, or PostgreSQL.
  • Integrate freely — Build on the REST and gRPC APIs or adapt the MIT-licensed source to your needs.

Quick Start

Want to explore Memos first? Open the live demo.

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

Other Installation Methods

  • Docker Compose — Recommended for production deployments.
  • Kubernetes — Helm charts and manifests are available.
  • Build from source — Best for development and customization.

See the deployment guide for detailed instructions.

Web Clipper

Save pages, selected text, and images directly to your Memos instance with the official Memos Web Clipper. The extension is available for Chrome and Firefox, and lets you review each clip, choose its visibility, and customize its Markdown format before saving.

Contributing

Contributions of all kinds are welcome, including bug reports, feature suggestions, pull requests, documentation, and translations.

Sponsors

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

License

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


Website • Documentation • Demo • Discord • X/Twitter