A Nostr relay for collaborative farming and local food communities.
What it does: Tangle is a multi-tenant Nostr relay that routes requests to tenants by hostname. Each tenant has its own relay URL, Pocket store, resource and rate limits, and optional NIP-29 groups.
Getting started | Docs | Config | Releases | License
Install Rust and Git. The repository uses the toolchain pinned in rust-toolchain.toml.
git clone https://radroots.dev/git/tangle.git && cd tangle
cargo check --workspace --lockedCopy the host and tenant config files:
mkdir -p runtime/tenants
cp config/tangle.host.example.json runtime/tangle.host.json
cp config/tenants/farmers_market.example.json runtime/tenants/farmers-market.jsonRun the relay:
cargo run -p tangle -- config validate --config "runtime/tangle.host.json"
cargo run -p tangle -- tenant list --config "runtime/tangle.host.json"
cargo run -p tangle -- run --config "runtime/tangle.host.json"Check readiness and the tenant's NIP-11 document:
curl http://localhost:7070/.well-known/tangle/ready
curl --header 'Accept: application/nostr+json' --header 'Host: relay.radroots.test' http://localhost:7000/Tangle is under active development. Interfaces and configuration may change.
Tangle is a mashup of:
Thanks to Mike and Jon for creating and open-sourcing these projects.
This repository is licensed under AGPL-3.0-or-later. See LICENSE.