47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# About
|
|
This is a nostr relay running on [rust](https://www.rust-lang.org/) and [tokio](https://tokio.rs/).
|
|
A Rust learning project with poor code quality.
|
|
|
|
# Usage
|
|
## Running Locally
|
|
Run `cargo run` with environment variable `DB_PATH` set to the path of the database file.
|
|
`RUST_LOG=info BIND_ADDR="0.0.0.0:8080" DB_PATH=./nostr.db AUTH_REQUIRED=True cargo run`
|
|
|
|
## Docker
|
|
|
|
# Run with a persistent database volume
|
|
`docker run -p 8080:8080 -v /path/to/your/db:/usr/local/bin/nostr.db laoxong/nostr_demo:master`
|
|
|
|
`docker run -p 8080:8080 -e AUTH_REQUIRED=true laoxong/nostr_demo:master`
|
|
|
|
|
|
## Docker Compose
|
|
```
|
|
nostr-relay:
|
|
image: laoxong/nostr_demo:master
|
|
container_name: nostr-relay
|
|
volumes:
|
|
- ./nostr-relay/:/etc/nostr
|
|
environment:
|
|
- DB_PATH=/etc/nostr/nostr.db
|
|
- AUTH_REQUIRED=False
|
|
```
|
|
|
|
# Env
|
|
- DB_PATH: Path to the SQLite database file. Defaults to `nostr.db`.
|
|
|
|
- BIND_ADDR: The address and port to bind the server to. Defaults to `0.0.0.0:8080`.
|
|
|
|
- RUST_LOG: Log level. Defaults to `warn`
|
|
|
|
- AUTH_REQUIRED: Set to `true` to enable authentication for publishing events (NIP-42). Defaults to `false`. If enabled, only authenticated clients whose pubkey is in the relay's trust list can publish events.
|
|
|
|
# Features
|
|
- NIP-1
|
|
- NIP-2
|
|
- NIP-5
|
|
- NIP-9
|
|
- NIP-12
|
|
- NIP-42
|
|
- NIP-65
|