Install via Docker
docker run -d \
--name memos \
--restart unless-stopped \
-p 127.0.0.1:5230:5230 \
-v memos-data:/var/opt/memos \
neosmemo/memos:stable
Or via docker compose:
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "127.0.0.1:5230:5230"
volumes:
- ./data:/var/opt/memos
environment:
MEMOS_MODE: prod
MEMOS_PORT: 5230
# For Postgres backend (optional; default is SQLite)
# MEMOS_DRIVER: postgres
# MEMOS_DSN: postgres://memos:<pw>@db:5432/memos?sslmode=disable
docker compose up -d
docker compose logs -f memos
Browse to http://localhost:5230 — the setup wizard creates your first user (becomes Host / admin).
Reverse proxy
# Caddy
memos.example.com {
reverse_proxy 127.0.0.1:5230
}
The flow
The home page is a composer at the top + a reverse-chronological list of your memos below. Type some markdown, hit Save; it appears immediately. Each memo can have:
- Tags (hashtag syntax,
#books,#work) - Backlinks via
[[Other Memo Title]]-style references - Image / file attachments (drag-drop)
- Visibility: private (default), workspace, or public via a share link
Search is full-text + tag-filtered + date-ranged.
Per-tag organization
Click a tag from any memo → filter to that tag. The sidebar shows tag counts. Useful for "all my book notes" / "all my recipes" / "all my home-lab to-dos" patterns without nested folders.
For hierarchical organization, tag conventions help: #books/sci-fi, #books/non-fiction — Memos treats the slashes as nested groupings in the sidebar.
Daily journal pattern
Many users treat Memos as a quick-capture journal:
- Each memo timestamped automatically
- Filter by date for "what did I do last Tuesday"
- Tag
#journalfor the dedicated journal view
For per-day rolled-up views (one entry per day, appended to), the "Daily Review" feature in newer Memos auto-creates the day's memo and lets you append.
Multi-user / workspace
Memos supports multi-user with role-based access. Admin can invite users via Settings → Members. Each user has private memos; workspaces let a group share memos.
For SSO, OIDC support is available in newer versions — configure under Settings → Identity Providers; works with Authentik (see that tutorial).
API + mobile apps
Memos exposes a REST + gRPC API. Mobile apps (iOS, Android) and third-party Telegram bot integrations write memos directly via the API; useful for "snap a thought from anywhere" patterns.
Programmatic capture from scripts:
# Generate an Access Token in Settings → My Account → Access Tokens
curl -X POST https://memos.example.com/api/v1/memos \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"content": "Caught a 30-min window with no meetings — built #project foo.", "visibility": "PRIVATE"}'
Cron jobs that capture daily metrics, bash aliases that drop a quick note — all writable via the API.
Markdown features
Full GitHub-flavored markdown: code blocks (syntax-highlighted), tables, task lists (- [ ] renders as a clickable checkbox in the rendered view), embedded images, footnotes, emoji shortcodes.
For diagrams, Mermaid is supported — paste a Mermaid spec in a fenced code block, get a rendered flow/sequence/gantt diagram inline.
Backups
Everything lives under ./data/:
memos_prod.db— the SQLite databaseresources/— uploaded attachments
Restic (see that tutorial) on the data dir covers it. For larger setups, switch to Postgres and back up via pg_dump.
Memos vs alternatives
- Obsidian — markdown notes in local files + plugin ecosystem. Better for deep linking / knowledge graphs; not natively self-hosted (use Syncthing for sync).
- SilverBullet — self-hosted markdown wiki with frontmatter-driven queries; more powerful than Memos but heavier setup.
- Trilium / TriliumNext — self-hosted hierarchical notes with relations and code-block scripting. More complex; richer.
- Joplin (with Joplin Server) — mature note-taking with E2E encryption + sync to a self-hosted server.
- Bear / Apple Notes — first-party walled-garden options; great UX, not self-hosted.
When Memos is the wrong tool
- For hierarchical / wiki-style organization with backlinks-as-graph, Trilium or Obsidian fit better.
- For long-form writing (essays, reports), use a real editor or a wiki.
- For E2E-encrypted notes, Joplin or Standard Notes.
For "I want to capture thoughts quickly, tag them, search later — on a server I control, with a clean UI," Memos is the right pick in 2026.