Memos

Getting Started

Run Memos locally, create the first admin user, and publish your first memo.

Memos is designed to be usable within minutes. The shortest path is Docker with SQLite and a local data volume, then you can harden deployment and storage once the instance is up.

Prerequisite

  • Docker installed on the machine running Memos

1. Start a local instance

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

What this gives you:

  • 5230 exposed on the host
  • a persistent data directory at ~/.memos
  • SQLite by default
  • one container that is easy to inspect and replace

On a fresh instance, this command initializes private access: ordinary memo pages require sign-in and anonymous Explore is unavailable. In 0.31, the saved ACCESS instance setting controls this policy independently of the canonical URL. The stable image follows stable releases; to try the release candidate explicitly, use neosmemo/memos:0.31.0-rc.1.

If you want a checked-in deployment file, use Docker Compose. If you need a custom or pinned build, use Build From Source. Contributors should start with Development.

2. Verify the instance

Open the UI after the container starts:

  • Docker default: http://localhost:5230
  • Binary default: http://localhost:8081

If you want to verify the service from the terminal first:

docker logs memos

3. Create the first admin account

The first user becomes the host admin and can configure registration, authentication, storage, and other global settings.

Recommended first actions:

  • use a strong password
  • choose private or public access in instance settings; configure the canonical instance URL separately
  • decide whether user registration should remain disabled or be opened later
  • decide whether public memos should be allowed at all

4. Create your first memo

Open the global composer from the sidebar. You can create a memo from any authenticated route. Check the selected Space and visibility, then try a memo that exercises the main features:

# Welcome to Memos

This is my first memo.

## Tasks
- [x] Install Memos
- [ ] Write a real note

## Tags
Trying #memos and #getting-started

## Code
```ts
console.log("hello from memos");
```

Useful things to try immediately:

  • choose PRIVATE, PROTECTED, PUBLIC, or SPACE visibility; SPACE requires an assigned Space
  • add a checklist with - [ ]
  • upload a screenshot or document
  • create tags inline with #tagname
  • pin an important memo so it stays visible

5. Understand visibility

Each memo uses one of four visibility levels:

  • PRIVATE: only you can read it
  • PROTECTED: authenticated users on the instance can read it
  • PUBLIC: anonymous visitors can read it when public instance access is enabled
  • SPACE: active members of the memo's assigned Space can read it

In private mode, ordinary PUBLIC memo pages still require sign-in. Explicit share links remain accessible without sign-in until revoked or expired. SPACE memos cannot have share links. Placement and visibility are independent; see Spaces.

6. Explore the core workflows

After the first memo, the next high-value workflows are:

Common first-run issues

  • If http://localhost:5230 does not load, check docker logs memos.
  • If the data directory is not writable, verify permissions on ~/.memos.
  • For anonymous public profiles and Explore, enable public access in instance settings. For a reverse proxy, set MEMOS_INSTANCE_URL to the canonical HTTP(S) URL independently of that policy.
  • For version-specific changes, read Upgrading to 0.31.

On this page