memos

module
v0.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2026 License: MIT

README

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

Memos

Fast enough for every thought. Private enough for all of them.

Memos is an open-source, self-hosted home for short-form thinking. Daily notes, links, work logs, and snippets flow into a chronological Markdown timeline—on infrastructure you control, without the overhead of an all-in-one workspace.

Run with Docker · Try the live demo · Read the docs

GitHub stars Latest release Docker pulls MIT license

Memos Demo Screenshot

Why Memos?

  • Capture quickly — Write in Markdown, attach media, and save without choosing a title, folder, or template.
  • Organize lightly — Revisit notes through the timeline, search, tags, and pins.
  • Share selectively — Keep memos private or publish only what you choose.
  • Keep control — Self-host Memos with zero telemetry and MIT-licensed source.

Explore all features →

Quick Start

Run Memos with Docker:

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

Other install options are in the deployment guide.

Web Clipper

Save pages, selections, and images from your browser straight into Memos as source-linked Markdown. Get the Memos Web Clipper for Chrome or Firefox.

Sponsors

             

Love Memos? Sponsor the project on GitHub.

Get Help

Read the docs, join Discord, or ask in GitHub Discussions. Found a bug or have an idea? Open an issue. To contribute, see the contributing guide.

Star History

Memos star history chart

Directories

Path Synopsis
cmd
memos command
core
access
Package access defines transport-independent resource authorization policies shared by the server's API and HTTP adapters.
Package access defines transport-independent resource authorization policies shared by the server's API and HTTP adapters.
memoexport
Package memoexport implements the Memos Export Format: a ZIP container that carries one user's memos and attachments between Memos instances.
Package memoexport implements the Memos Export Format: a ZIP container that carries one user's memos and attachments between Memos instances.
Package filter compiles the CEL filter expressions accepted by the list endpoints into an intermediate representation and renders that IR into SQL for each database driver.
Package filter compiles the CEL filter expressions accepted by the list endpoints into an intermediate representation and renders that IR into SQL for each database driver.
internal
clientip
Package clientip resolves the client address of a request from the connection peer and, only when that peer is a trusted proxy, from the forwarding headers it set.
Package clientip resolves the client address of a request from the connection peer and, only when that peer is a trusted proxy, from the forwarding headers it set.
email
Package email provides SMTP email sending functionality for self-hosted Memos instances.
Package email provides SMTP email sending functionality for self-hosted Memos instances.
imagelimit
Package imagelimit bounds the decoded size of untrusted images before a full decode allocates memory for them.
Package imagelimit bounds the decoded size of untrusted images before a full decode allocates memory for them.
random
Package random generates identifiers and secrets from a cryptographically secure source.
Package random generates identifiers and secrets from a cryptographically secure source.
ratelimit
Package ratelimit bounds how often a caller may do something.
Package ratelimit bounds how often a caller may do something.
testutil/fakes3
Package fakes3 provides an in-process S3-compatible service for tests.
Package fakes3 provides an in-process S3-compatible service for tests.
Package markdown is the markdown engine: parsing memo content into the AST in markdown/ast, the memos-specific syntax in markdown/extensions and markdown/parser (tags, mentions, math, GFM extras), rendering, and the derived memo payload (tags, properties, snippet).
Package markdown is the markdown engine: parsing memo content into the AST in markdown/ast, the memos-specific syntax in markdown/extensions and markdown/parser (tags, mentions, math, GFM extras), rendering, and the derived memo payload (tags, properties, snippet).
ast
parser/tagdata command
Command tagdata generates the fixed Unicode and emoji tables used by the Memos tag lexer.
Command tagdata generates the fixed Unicode and emoji tables used by the Memos tag lexer.
gen/api/v1
Package apiv1 is a reverse proxy.
Package apiv1 is a reverse proxy.
provider
ai
ai/audio
Package audio provides audio container/codec helpers for AI providers.
Package audio provides audio container/codec helpers for AI providers.
ai/audiollm
Package audiollm defines the multimodal-audio capability for AI providers.
Package audiollm defines the multimodal-audio capability for AI providers.
ai/audiollm/gemini
Package gemini implements audiollm.Model against the Gemini generateContent endpoint.
Package gemini implements audiollm.Model against the Gemini generateContent endpoint.
ai/stt
Package stt defines the speech-to-text capability for AI providers.
Package stt defines the speech-to-text capability for AI providers.
ai/stt/openai
Package openai implements stt.Transcriber against the OpenAI /audio/transcriptions endpoint (and any compatible third-party endpoint such as Groq Whisper, faster-whisper self-hosted, or Azure Whisper).
Package openai implements stt.Transcriber against the OpenAI /audio/transcriptions endpoint (and any compatible third-party endpoint such as Groq Whisper, faster-whisper self-hosted, or Azure Whisper).
idp
idp/oauth2
Package oauth2 implements the OAuth2 identity provider integration.
Package oauth2 implements the OAuth2 identity provider integration.
Package server is the HTTP process: it boots the Echo server, mounts every transport (server/api/v1, server/fileserver, server/frontend, server/mcp), and owns HTTP-only concerns such as auth tokens and process configuration.
Package server is the HTTP process: it boots the Echo server, mounts every transport (server/api/v1, server/fileserver, server/frontend, server/mcp), and owns HTTP-only concerns such as auth tokens and process configuration.
auth
Package auth provides authentication and authorization for the Memos server.
Package auth provides authentication and authorization for the Memos server.
mcp
Package store is the persistence layer: the Store facade, the Driver interface implemented by store/db/{sqlite,mysql,postgres,d1}, migrations, seed data, and the in-memory cache.
Package store is the persistence layer: the Store facade, the Driver interface implemented by store/db/{sqlite,mysql,postgres,d1}, migrations, seed data, and the in-memory cache.
db
db/sqlite
Package sqlite provides SQLite driver implementation with custom functions.
Package sqlite provides SQLite driver implementation with custom functions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL