Skip to content
/ memos Public
forked from usememos/memos

An open source, lightweight note-taking service. Easily capture and share your great thoughts.

License

Notifications You must be signed in to change notification settings

taosin/memos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Go 1.24 or later
  • Node.js 22+ and pnpm
  • Git for version control

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

About

An open source, lightweight note-taking service. Easily capture and share your great thoughts.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 59.6%
  • TypeScript 40.0%
  • JavaScript 0.1%
  • Shell 0.1%
  • Dockerfile 0.1%
  • HTML 0.1%