# memos

[memos](https://github.com/usememos/memos) — lightweight self-hosted
note / memo server. Single Go binary, SQLite by default, MIT license.

| | |
|---|---|
| host | `ana-docker` |
| port | `5230` |
| image | `neosmemo/memos:stable` |
| data | `/opt/docker/conf/memos/data/` (SQLite + uploaded resources) |
| homepage group | `Notes` |

## Deploy

```bash
scripts/elway ana-docker --playbook playbooks/deploy-memos.yaml
```

First run: visit <http://10.250.50.70:5230>, create the Host account
through the sign-up form. Subsequent users register through the same
form (or you disable open sign-up via Settings → Workspace).

## Tunables

See `.env.example` — copy to `.env` on the host (lives at
`/opt/docker/compose/memos/.env`, gitignored). Knobs are intentionally
minimal: image tag, host port, TZ, data dir. Memos itself reads its
config from the SQLite DB (workspace settings via the UI).

## Backups

Data dir is `/opt/docker/conf/memos/data/`. The host's restic profile
covers `/opt/docker/conf/` so the SQLite DB + uploaded resources go
along for free. SQLite snapshot is consistent under restic's COW reads
since memos uses WAL mode + fsync; for a guaranteed-quiescent backup
take a `docker exec memos sqlite3 /var/opt/memos/memos_prod.db ".backup /var/opt/memos/snapshot.db"`
in the restic pre-backup hook.
