DocumentationOperations

Rust · 0.1.0

Operations

Keep a known deployment, recoverable data and a practical incident checklist. Health checks are only one part of operating the service.

Record a recoverable baseline

Before changing the service, record the source revision or image tag, database driver, data location, attachment storage and external origin. Keep secrets separately. The architecture guide explains which components share a process and which external services remain independent.

# Native installation: inspect the built artifact
./build/memos --version

# Local container example: inspect status and recent logs
docker inspect memos --format '{{.State.Status}}'
docker logs --tail 100 memos
curl --fail http://127.0.0.1:5230/healthz

Maintain a short operational checklist

Use a cadence appropriate to your own installation; the application does not automatically perform these operator tasks. A useful check ends with evidence, such as a restored test memo or a downloaded test attachment, rather than only a green dashboard.

  • Verify health, available disk space and recent startup errors
  • Check backup completion and periodically restore an isolated copy
  • Verify sign-in, a saved memo and an attachment through the external origin
  • Review failed outbound integrations and expired or unnecessary access
  • Record the last tested rollback artifact before an upgrade

Choose the failing layer

Start with the narrowest failed operation. The troubleshooting guide gives a fuller investigation sequence; do not turn off access checks or delete the data directory as a diagnostic shortcut.

SymptomFirst checks
Process will not startConfiguration syntax, port conflict, database reachability, directory permissions
Health works but the page does notEmbedded frontend build, external origin, reverse proxy
Login failsClock, HTTPS/cookies, identity-provider callback and account state
A file is missingStorage destination, object existence and application authorization
A request is slowDatabase, outbound provider, upload size and per-layer timing

Separate backup, export and rollback

A personal memo export is not a complete server backup. A recoverable installation may need the database, local or remote attachment bytes and deployment configuration from a consistent point in time. An old binary may not understand a migrated database. Follow backup and restore before upgrade and rollback, then test the restored or upgraded instance using synthetic records.

Guides in this section