An open source, lightweight note-taking service. Easily capture and share your great thoughts.
Find a file
varsnotwars 9f8921d3b9
fix: preference not being saved (#4980)
Signed-off-by: varsnotwars <varsnotwars@protonmail.com>
Co-authored-by: Johnny <yourselfhosted@gmail.com>
2025-08-08 22:50:46 +08:00
.github chore: move frontend store 2025-07-07 22:44:08 +08:00
bin/memos chore: remove unused main file 2025-07-14 23:18:24 +08:00
internal chore: bump version 2025-06-24 23:06:57 +08:00
plugin feat: filter/method for reactions by content_id (#4969) 2025-08-08 00:00:51 +08:00
proto fix: get user by username 2025-08-04 19:56:12 +08:00
scripts chore: update dockerfile 2025-04-21 22:26:18 +08:00
server feat: filter/method for reactions by content_id (#4969) 2025-08-08 00:00:51 +08:00
store feat: filter/method for reactions by content_id (#4969) 2025-08-08 00:00:51 +08:00
web fix: preference not being saved (#4980) 2025-08-08 22:50:46 +08:00
.dockerignore chore: update resource dialog style (#982) 2023-01-21 08:46:49 +08:00
.gitignore chore(dev): update build guides 2025-01-19 10:46:35 +08:00
.golangci.yaml chore: update golangci config 2025-04-02 22:53:17 +08:00
.goreleaser.yaml chore: remove cgo 2025-02-02 13:07:11 +08:00
CLAUDE.md chore: update claude.md 2025-07-09 21:13:54 +08:00
CODEOWNERS chore: update readme (#1047) 2023-02-08 08:51:36 +08:00
go.mod chore: bump golang.org/x/net from 0.40.0 to 0.42.0 (#4948) 2025-08-03 19:05:49 +08:00
go.sum chore: bump golang.org/x/net from 0.40.0 to 0.42.0 (#4948) 2025-08-03 19:05:49 +08:00
LICENSE chore: update LICENSE (#4394) 2025-02-11 15:45:20 +08:00
README.md chore: add hyperlink for 'releases page' (#4914) 2025-07-24 12:51:02 +08:00
SECURITY.md chore: update security 2023-11-23 08:55:57 +08:00

Memos

Memos

A modern, open-source, self-hosted knowledge management and note-taking platform designed for privacy-conscious users and organizations. Memos provides a lightweight yet powerful solution for capturing, organizing, and sharing thoughts with comprehensive Markdown support and cross-platform accessibility.

Home Page Documentation Live Demo Blog

Docker Pulls Docker Image Size Discord

Memos Application Screenshot

Table of Contents

Overview

Memos is a lightweight, self-hosted alternative to cloud-based note-taking services. Built with privacy and performance in mind, it offers a comprehensive platform for personal knowledge management without compromising data ownership or security.

Key Features

Data Privacy and Security

  • Complete Data Ownership: All application data is stored locally in your chosen database
  • Self-Hosted Architecture: Full control over your data infrastructure and access policies
  • No External Dependencies: Runtime operations require no third-party services or cloud connections

Content Creation and Management

  • Plain Text Efficiency: Streamlined text input with immediate save functionality
  • Advanced Markdown Support: Comprehensive Markdown rendering with syntax highlighting
  • Rich Media Integration: Support for images, links, and embedded content

Technical Excellence

  • High-Performance Backend: Built with Go for optimal resource utilization and scalability
  • Modern Frontend: React.js-based user interface with responsive design
  • Lightweight Deployment: Minimal system requirements with efficient resource consumption
  • Cross-Platform Compatibility: Supports Linux, macOS, Windows, and containerized environments

Customization and Extensibility

  • Configurable Interface: Customizable server branding, themes, and user interface elements
  • API-First Design: RESTful API with comprehensive documentation for third-party integrations
  • Multi-Database Support: Compatible with SQLite, PostgreSQL, and MySQL databases

Cost-Effective Solution

  • Open Source License: MIT licensed with full source code availability
  • Zero Licensing Costs: No subscription fees, usage limits, or premium tiers
  • Community-Driven Development: Active community contribution and transparent development process

Quick Start

Prerequisites

  • Docker or Docker Compose installed on your system
  • Minimum 512MB RAM and 1GB available disk space

Docker Deployment

Deploy Memos in production mode using Docker:

# Create data directory
mkdir -p ~/.memos

# Run Memos container
docker run -d \
  --name memos \
  --restart unless-stopped \
  -p 5230:5230 \
  -v ~/.memos:/var/opt/memos \
  neosmemo/memos:stable

Access the application at http://localhost:5230 and complete the initial setup process.

Docker Compose Deployment

For advanced configurations, use Docker Compose:

# docker-compose.yml
version: "3.8"
services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    restart: unless-stopped
    ports:
      - "5230:5230"
    volumes:
      - ./data:/var/opt/memos
    environment:
      - MEMOS_MODE=prod
      - MEMOS_PORT=5230

Deploy with:

docker-compose up -d

Note

: The data directory (~/.memos/ or ./data/) stores all application data including the database, uploaded files, and configuration. Ensure this directory is included in your backup strategy.

Platform Compatibility: The above commands are optimized for Unix-like systems (Linux, macOS). For Windows deployments, please refer to the Windows-specific documentation.

Installation Methods

Memos supports multiple installation approaches to accommodate different deployment scenarios:

Container Deployment

  • Docker Hub: Official images available at neosmemo/memos
  • GitHub Container Registry: Alternative registry with the same image versions
  • Kubernetes: Helm charts and YAML manifests for cluster deployments

Binary Installation

  • Pre-compiled Binaries: Available for Linux, macOS, and Windows on the releases page

Source Installation

  • Go Build: Compile from source using Go 1.24 or later
  • Development Mode: Local development setup with hot reloading

For detailed installation instructions, refer to the comprehensive installation guide.

Development Setup

Prerequisites

Backend Development

# Clone the repository
git clone https://github.com/usememos/memos.git
cd memos

# Install Go dependencies
go mod download

# Run the backend server
go run ./bin/memos/main.go --mode dev --port 8081

Frontend Development

# Navigate to web directory
cd web

# Install dependencies
pnpm install

# Start development server
pnpm dev

The development servers will be available at:

  • Backend API: http://localhost:8081
  • Frontend: http://localhost:3001

Contributing

Memos is an open-source project that welcomes contributions from developers, designers, and users worldwide. We maintain a collaborative and inclusive development environment that values quality, innovation, and community feedback.

Ways to Contribute

  • Code Contributions: Bug fixes, feature implementations, and performance improvements
  • Documentation: API documentation, user guides, and technical specifications
  • Testing: Quality assurance, test case development, and bug reporting
  • Localization: Translation support for multiple languages and regions
  • Community Support: Helping users on Discord, GitHub discussions, and forums

License

Memos is released under the MIT License, providing maximum flexibility for both personal and commercial use. This license allows for:

  • Commercial Use: Deploy Memos in commercial environments without licensing fees
  • Modification: Adapt and customize the codebase for specific requirements
  • Distribution: Share modified versions while maintaining license attribution
  • Private Use: Use Memos internally without disclosure requirements

See the LICENSE file for complete licensing terms.

Project Status

Development Status: Memos is actively maintained and under continuous development. While the core functionality is stable and production-ready, users should expect regular updates, feature additions, and potential breaking changes as the project evolves.

Version Compatibility: We maintain backward compatibility for data storage and API interfaces where possible. Migration guides are provided for major version transitions.

Support and Community

Star History Chart