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:stableWhat this gives you:
5230exposed on the host- a persistent data directory at
~/.memos - SQLite by default
- one container that is easy to inspect and replace
Because the command does not set MEMOS_INSTANCE_URL, Memos starts in private mode: anonymous visitors are sent to sign-in and public discovery surfaces such as Explore and RSS stay unavailable. This is a safe default for a local or personal instance.
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 memos3. 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
- decide whether to keep private mode or set the canonical instance URL to enable anonymous public access
- 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
Use the editor at the top of the home page and 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:
- set memo visibility to
PRIVATE,PROTECTED, orPUBLIC - 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 three visibility levels:
PRIVATE: only you can read itPROTECTED: authenticated users on the instance can read itPUBLIC: anonymous visitors can read it when the instance URL is configured and public mode is enabled
In private mode, PUBLIC memos still require sign-in. Explicit share links remain accessible without sign-in and should be treated as bearer credentials.
6. Explore the core workflows
After the first memo, the next high-value workflows are:
Common first-run issues
- If
http://localhost:5230does not load, checkdocker logs memos. - If the data directory is not writable, verify permissions on
~/.memos. - If you want anonymous public profiles, Explore, or RSS—or run behind a reverse proxy—set
MEMOS_INSTANCE_URLto the canonical public URL.