A Nostr relay server specialized for group chat functionality.
Implements NIP-29: Relay-based Groups.
This is a Rust workspace with these main crates:
- groups_relay: The main relay server implementing NIP-29 group chat functionality.
- websocket_builder: A middleware-based WebSocket framework.
-
Groups:
- Support for managed and unmanaged groups
- Group metadata management
- Event metrics and monitoring
-
NIP-42 Auth: Client authentication
-
NIP-70: Protected events
-
Management UI: Preact-based frontend for group administration
- Middleware pipeline for message processing
- Type-safe message conversion
- Connection state management
- Configurable channel sizing
- Rust 1.84 or later
- Docker (optional)
Build and test:
cargo build --workspace
cargo test --workspace
Run the relay:
cargo run -p groups_relay
Run with Docker:
docker compose up --build