Skip to main content

Backup and restore

Backups contain sensitive metadata, search documents, Redis state, and staged uploads. Encrypt them and restrict access.

Create​

OSC_COMPOSE_PROJECT=open-search-console \
./infra/backup.sh /secure/backups/indexlume-2026-10-23

The script creates a PostgreSQL custom-format dump, archives Typesense/Redis/upload volumes while dependent services are stopped, writes a manifest with an encryption-key fingerprint, and produces SHA-256 checksums.

It does not include .env, encryption keys, setup tokens, TLS keys, reverse-proxy configuration, or external source data. Preserve these separately.

Restore​

Restore first into the same pinned application and service versions.

docker compose up --detach --wait

OSC_COMPOSE_PROJECT=open-search-console \
OSC_RESTORE_CONFIRM=open-search-console \
./infra/restore.sh /secure/backups/indexlume-2026-10-23

./infra/smoke.sh

The restore rejects missing or changed payloads, encryption-key mismatch, and a confirmation value that does not exactly match the Compose project.

Afterward, verify login, connector tests, active aliases, representative searches, recent jobs, and external credentials. External databases require their own backup and recovery plan.