Quick Start
Run Memos with a single command:http://localhost:5230 in your browser and start using Memos!
Image Tags
Memos provides multiple Docker image tags:stable- Latest stable release (recommended for production)0.28- Latest patch version of 0.28.x0.28.1- Specific versionlatest- Development build from main branch (not recommended for production)
Data Persistence
Memos stores all data in/var/opt/memos inside the container. Mount this directory to persist your data:
Environment Variables
Configure basic settings
Control Memos behavior using environment variables from
cmd/memos/main.go:23-137:Available variables
| Variable | Default | Description |
|---|---|---|
MEMOS_PORT | 8081 | HTTP server port (container default: 5230) |
MEMOS_ADDR | “ | Bind address (empty = all interfaces) |
MEMOS_DATA | ~/.memos | Data directory path |
MEMOS_DRIVER | sqlite | Database driver: sqlite, mysql, postgres |
MEMOS_DSN | “ | Database connection string |
MEMOS_INSTANCE_URL | “ | Public instance URL |
MEMOS_DEMO | false | Enable demo mode |
Using External Database
MySQL
PostgreSQL
When using external databases, you may not need the data volume for database files, but it’s still used for attachments and other assets.
Security: Using Docker Secrets
For sensitive credentials, use Docker secrets instead of environment variables:scripts/entrypoint.sh:17-41) supports *_FILE suffix for any environment variable.
Container User
Memos runs as a non-root user for security:- UID:
10001 - GID:
10001 - Username:
nonroot - Home:
/var/opt/memos
scripts/entrypoint.sh:3-15).
Custom UID/GID
Override the default user IDs:Container Management
View Logs
Stop Container
Start Container
Restart Container
Remove Container
Updating Memos
Your data is preserved because it’s stored in the mounted volume.Platform Support
The Docker image supports multiple architectures (scripts/Dockerfile:1):
linux/amd64- x86_64 processorslinux/arm64- ARM 64-bit (Apple Silicon, Raspberry Pi 4+)linux/arm/v7- ARM 32-bit (Raspberry Pi 2/3)
Next Steps
- Configure Docker Compose for production deployments
- Set up with Kubernetes for orchestration
- Learn about configuration options