Running the standalone ingest server directly
obsidianlog-ingest is a standalone binary you can run without the CLI.
Unlike obsidianlog serve (which manages the key for you), the standalone
binary never reads its encryption key from the config file. It refuses to
start until you pass one via OBSIDIANLOG_ENCRYPTION_KEY (a 64-character hex
string) or OBSIDIANLOG_ENCRYPTION_KEY_FILE (a path to a file containing
that string, the convention for a mounted Docker/Kubernetes secret):
obsidianlog CLI’s init/serve manage this key for you instead. See
obsidianlog init and obsidianlog serve.
Building with the Sia backend
The official prebuilt release binaries already ship with thesia Cargo
feature. Sia is this project’s Foundation-sponsored storage path, so it’s
built into obsidianlog by default. init still defaults to the local
backend unless you choose Sia. Building it yourself from source needs the
feature passed explicitly. The Sia build command above does that. Default
builds/tests stay Sia-free because the integration depends on a pre-1.0 SDK (see
ADR-0006).
The command above writes the Sia-capable binary to
target/release/obsidianlog. Use cargo install --path crates/obsidianlog-cli --features sia instead only if you specifically want
Cargo to install it into your user-wide Cargo bin directory.
Without this feature, serve/query/verify fail with a clear error the
moment a config points at a Sia indexer, rather than silently falling back
to the local backend. See Storage Backends
for what the Sia backend actually connects to.