Operations

All stack commands run from ~/dev/lobe. Use non-rendering validation, preserve both authoritative data stores, and keep secret values out of command output.

Pages

  • runbook
    • validate, start, inspect status, read scoped logs, and check public and loopback surfaces
  • backups-restore
    • exact PostgreSQL custom-format dump and RustFS mirror commands, verification, and paired restore prerequisites
  • upgrades
    • digest replacement, mandatory pre-upgrade backups, automatic migration, and rollback boundary
  • troubleshooting
    • dependency, OIDC, model, S3, streaming, search, and certificate fault isolation
  • verification
    • dated deployment receipts and commands that reproduce the checks without exposing secrets

State priorities

  • preserve first:
    • lobe_postgres_data
    • lobe_rustfs_data
  • reconstruct if necessary:
    • lobe_redis_data
  • never infer recoverability from:
    • a running container
    • an existing Docker volume
    • a successful application healthcheck

A recoverable release requires a matched PostgreSQL dump, RustFS mirror, and the exact application image digest expected by that data state.

Routine command discipline

  • safe configuration validation: sudo -n docker compose config --quiet
  • normal start or reconciliation: sudo -n docker compose up -d
  • status including the one-shot initializer: sudo -n docker compose ps -a
  • scoped logs: sudo -n docker compose logs --tail=100 <service>
  • unsafe in transcripts: docker compose config without --quiet, .env reads, container-environment dumps, or commands that echo credential variables

5 items under this folder.