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 20c19ef82d feat(storage): add insecure_skip_tls_verify option for S3
Adds an opt-in toggle to skip TLS certificate verification when connecting
to the S3 endpoint, for self-hosted S3-compatible backends (e.g. rustfs,
MinIO) that use self-signed certificates. Exposed in both the store/API
protos and the storage settings UI, mirroring the existing use_path_style
toggle. When enabled, the AWS client uses an HTTP transport with
InsecureSkipVerify; default behavior is unchanged.

This governs backend-initiated S3 calls (uploads, deletes, thumbnails, and
image/document streaming). Video/audio playback redirects the browser to a
presigned URL, so that path still requires the browser to trust the cert.

Closes #6039
4 hours ago
.github chore(github): improve issue templates with structured triage fields 2 weeks ago
cmd/memos
docs feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 1 week ago
internal feat(storage): add insecure_skip_tls_verify option for S3 4 hours ago
proto feat(storage): add insecure_skip_tls_verify option for S3 4 hours ago
scripts
server feat(storage): add insecure_skip_tls_verify option for S3 4 hours ago
store feat(filter): standard CEL now variable, time accessors, set ops 5 hours ago
web feat(storage): add insecure_skip_tls_verify option for S3 4 hours ago
.dockerignore
.gitignore
.golangci.yaml
.release-please-manifest.json chore(main): release 0.29.1 (#5985) 3 weeks ago
AGENTS.md docs: rewrite agent repository guide 3 weeks ago
CHANGELOG.md chore(main): release 0.29.1 (#5985) 3 weeks ago
CODEOWNERS
LICENSE
README.md chore: update sponsors 4 weeks ago
SECURITY.md
go.mod feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 1 week ago
go.sum feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all() 1 week ago
release-please-config.json

README.md

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