Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/docs/deploy/docker-compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ docker compose up -d
- keep your data directory on persistent storage
- place Memos behind a reverse proxy for HTTPS
- leave `MEMOS_INSTANCE_URL` empty for private mode, or set it to the canonical public URL to enable anonymous public access
- back up both the database and any local assets if you do not use database-backed attachment storage
- back up both the database and any local assets if you do not use database-backed attachment storage - see [Backup & Restore](/docs/operations/backup-restore) for how; with SQLite, copying `memos_prod.db` on its own while Memos is running misses everything still in its `-wal` file

## When to add more services

Expand Down
2 changes: 1 addition & 1 deletion content/docs/deploy/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -163,4 +163,4 @@ docker run -d \
neosmemo/memos:stable
```

Because data is stored in the mounted volume, replacing the container is usually safe as long as you keep the same data directory and have backups.
Because data is stored in the mounted volume, replacing the container is usually safe as long as you keep the same data directory and have backups. See [Backup & Restore](/docs/operations/backup-restore) for what to back up and how.
4 changes: 2 additions & 2 deletions content/docs/operations/backup-restore.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The location is controlled by `MEMOS_DATA`. Override it at runtime or use the de

## What to back up

- the database itself
- the database itself - with SQLite, `memos_prod.db` together with its `-wal` and `-shm` files, or a copy made with `.backup` as below; on a running instance the newest rows are in the `-wal` until SQLite checkpoints them
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- local attachment storage when attachments are not stored in the database
- deployment configuration such as environment variables, compose files, and proxy config

Expand All @@ -34,7 +34,7 @@ sudo systemctl start memos
For online backups while Memos is running, use SQLite's built-in `.backup` command which handles WAL mode correctly:

```bash
sqlite3 ~/.memos/memos_prod.db ".backup ~/.memos/memos_backup.db"
sqlite3 ~/.memos/memos_prod.db ".backup $HOME/.memos/memos_backup.db"
```

Automated daily backup with 7-day retention:
Expand Down