Files
laoxong 7ac67102ef
Build and Push Docker Image / build_docker_image (push) Successful in 8m15s
Update README.md
2025-08-07 00:41:23 +08:00

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