sia.storage.
At the same obsidianlog init prompt, entering a different indexer URL
points ObsidianLog at your own self-hosted indexd, or a third party’s,
instead. This is a configuration choice, not a code fork. The indexer URL
lives in config.toml, and the app key init receives from onboarding
lives in the credential bundle alongside the encryption key, not as a
plaintext config value. Together they form the SiaConfig { indexer_url, bucket, app_key } the backend actually connects with at runtime.
Who this is for
Compliance-sensitive teams and anyone who wants full control over the wallet, keys, and data path in the loop, rather than trusting an operator, regulated shops in particular. The same onboarding mechanism (indexd’s app-connection approval flow) works identically against any indexer, only the URL differs.Running your own indexd
See the Docker Compose Quickstart
for the sia Compose profile, which runs indexd + the PostgreSQL database
it requires locally. Standing up a real, funded, internet-facing instance is
a real operational commitment (a funded wallet, contract maintenance, and
monitoring), deliberately kept separate from ObsidianLog’s own scope. See
Decisions (ADR-0007) for the full
reasoning behind this split.