ScriptsApr 10, 2026·1 min read

Memos — Open Source Self-Hosted Note-Taking Tool

Memos is a lightweight, self-hosted note-taking app with Markdown support, tag-based organization, and a Twitter-like timeline interface for quick idea capture.

SC
Script Depot · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

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

Open http://localhost:5230 — register your account and start writing notes.

Intro

Memos is an open-source, self-hosted note-taking tool designed for quick capture and knowledge management. Built with Go and React, it features a Twitter-like timeline interface where you can jot down thoughts, ideas, and snippets in Markdown — making it perfect for personal knowledge bases, micro-blogging, and daily journaling.

With 58.7K+ GitHub stars and MIT license, Memos has become one of the most popular self-hosted note-taking solutions, valued for its simplicity, speed, and complete data ownership.

What Memos Does

Memos focuses on frictionless note capture:

  • Quick Capture: Twitter-like compose box for instant note creation with Markdown formatting
  • Tag System: Organize notes with #tags that auto-generate a tag tree for browsing
  • Timeline View: Chronological feed of all memos with search and filter capabilities
  • Markdown Native: Full Markdown support with code blocks, tables, task lists, and LaTeX math
  • Media Support: Attach images, files, and embed links with preview cards
  • API & Webhooks: RESTful API for automation and integration with other tools
  • Multi-user: Self-hosted with user management and visibility controls (public/protected/private)

Architecture

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  Web UI      │────▶│  Memos       │────▶│  SQLite /    │
│  (React)     │     │  Server (Go) │     │  PostgreSQL  │
└──────────────┘     └──────────────┘     └──────────────┘

Memos uses SQLite by default for zero-configuration deployment, with PostgreSQL support for larger installations.

Self-Hosting Options

Docker (Simplest)

docker run -d 
  --name memos 
  -p 5230:5230 
  -v memos-data:/var/opt/memos 
  neosmemo/memos:stable

Docker Compose

services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    ports:
      - "5230:5230"
    volumes:
      - ./memos-data:/var/opt/memos
    restart: unless-stopped

With PostgreSQL

services:
  memos:
    image: neosmemo/memos:stable
    environment:
      MEMOS_DRIVER: postgres
      MEMOS_DSN: postgresql://memos:memos@db:5432/memos?sslmode=disable
    ports:
      - "5230:5230"
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: memos
      POSTGRES_PASSWORD: memos
      POSTGRES_DB: memos
    volumes:
      - pg-data:/var/lib/postgresql/data

volumes:
  pg-data:

Key Features

Markdown Editor

Memos supports full GitHub-Flavored Markdown:

# Meeting Notes 2024-01-15

## Action Items

- [x] Review PR #123
- [ ] Update documentation
- [ ] Schedule follow-up

## Code Snippet

```python
def process_data(items):
    return [transform(i) for i in items]

Important: Deadline is Friday #work #urgent


### Tag-Based Organization

Tags are first-class citizens in Memos:
- Use `#tag` inline in any memo
- Nested tags with `#parent/child` syntax
- Tag tree sidebar for browsing
- Filter by multiple tags simultaneously

### API Integration

```bash
# Create a memo via API
curl -X POST http://localhost:5230/api/v1/memos 
  -H "Authorization: Bearer YOUR_TOKEN" 
  -H "Content-Type: application/json" 
  -d '{"content": "Quick thought from CLI #idea"}'

# List memos
curl http://localhost:5230/api/v1/memos 
  -H "Authorization: Bearer YOUR_TOKEN"

Telegram Bot Integration

Memos can connect to a Telegram bot to capture notes directly from Telegram messages — perfect for mobile quick capture.

Memos vs Alternatives

Feature Memos Obsidian Notion Apple Notes
Open Source Yes (MIT) No No No
Self-hosted Yes Local files No iCloud
Quick capture Timeline UI Vault system Pages Notes
Markdown Native Native Partial No
API REST API Community API No
Multi-user Yes No Yes Family sharing
Storage SQLite/PostgreSQL Local files Cloud iCloud

常见问题

Q: Memos 适合做知识管理吗? A: Memos 更适合快速记录和碎片化知识捕获。如果需要双向链接和图谱功能,建议搭配 Obsidian 使用。Memos 负责快速捕获,Obsidian 负责深度整理。

Q: 数据如何备份? A: SQLite 模式下,备份 /var/opt/memos 目录即可(包含数据库和上传文件)。也可以通过 API 导出所有 memos 为 JSON 格式。

Q: 支持移动端吗? A: Memos 是 PWA 应用,在手机浏览器中添加到主屏幕即可获得类原生体验。也有社区开发的 iOS 和 Android 客户端(Moe Memos、MoeMemos)。

来源与致谢

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets