Skip to main content

Setup

mori init

Interactive setup. Walks you through engine selection, provider, and credentials.
Some of these flows might not be optimal since there’s so many combinations. If the interactive flow isn’t working for you, try using the direct connection string method.In the meantime, you can open an issue for the way you were trying to connect.
Non-interactive init with a connection string:
More information at Configuration > Providers
Use a custom Docker image for the Shadow container (e.g., for PostgreSQL with pre-installed extensions):
For PostgreSQL, Mori automatically attempts to install extensions via apt-get inside the Shadow container when CREATE EXTENSION fails. The --image flag is an escape hatch for cases where auto-install does not work.

Running

mori start

Start the proxy. On first run, creates the Shadow database.

mori stop

Graceful shutdown. Persists all state (Delta Map, Tombstone Set, Schema Registry).

State Management

mori reset

Wipe all local state — Shadow data, Delta Map, Tombstone Set, Schema Registry. Use this for quick resets between runs.
mori reset is irreversible. The local shadow persists, but all local mutations are permanently deleted.

mori reinit

Wipe all local state and delete the shadow container. Use this when the production schema has changed since the last init.
mori reinit is irreversible. The local shadow and all local mutations are permanently deleted.

mori status

Display current state: delta rows, tombstones, schema diffs, sequence offsets.

mori inspect

Detailed state for a specific table: delta count, tombstone count, schema divergence, PK type.

Logging

mori log

Stream the proxy activity log.

mori dash

Launch the TUI dashboard — real-time query stream, delta/tombstone stats, table breakdown, live charts.

Connection Management

mori ls

List all configured connections.

mori rm

Remove a connection and its associated state.

mori config

View or edit configuration.

Configuration Files

Mori stores all state in a .mori/ directory at your project root, created by mori init. See Components for details on each state file.
You may want to check mori.yaml into version control (with secrets excluded) so teammates can share the same connection setup.