Go to file
Greg Heartsfield d72e7a57b6 feat: hide older metadata update events
This updates the database schema to support hiding events.  In this
case, we are hiding older metadata updates when an author provides an
updated event.

Fixes https://todo.sr.ht/~gheartsfield/nostr-rs-relay/11
2021-12-30 13:55:05 -06:00
src feat: hide older metadata update events 2021-12-30 13:55:05 -06:00
.gitignore feat: store events in SQLite and allow querying 2021-12-11 15:48:59 -06:00
Cargo.lock feat: add configuration through file 2021-12-29 22:13:02 -06:00
Cargo.toml feat: add configuration through file 2021-12-29 22:13:02 -06:00
Dockerfile feat: add data directory to Dockerfile 2021-12-11 22:18:05 -06:00
LICENSE docs: add MIT license 2021-12-11 15:52:25 -06:00
README.md docs: sample program output in README 2021-12-11 22:21:31 -06:00
rustfmt.toml feat: cargo build files and expected dependencies 2021-12-05 08:42:28 -06:00

nostr-rs-relay

This is a nostr relay, written in Rust. It currently supports the entire relay protocol, and has a SQLite persistence layer.

The project master repository is available on sourcehut, and is mirrored on GitHub.

Quick Start

The provided Dockerfile will compile and build the server application. Use a bind mount to store the SQLite database outside of the container image, and map the container's 8080 port to a host port (8090 in the example below).

$ docker build -t nostr-rs-relay .
$ docker run -p 8090:8080 --mount src=$(pwd)/nostr_data,target=/usr/src/app/db,type=bind nostr-rs-relay
[2021-12-12T04:20:47Z INFO  nostr_rs_relay] Listening on: 0.0.0.0:8080
[2021-12-12T04:20:47Z INFO  nostr_rs_relay::db] Opened database for writing
[2021-12-12T04:20:47Z INFO  nostr_rs_relay::db] init completed

Use a nostr client such as noscl to publish and query events.

$ noscl publish "hello world"
Sent to 'ws://localhost:8090'.
Seen it on 'ws://localhost:8090'.
$ noscl home
Text Note [81cf...2652] from 296a...9b92 5 seconds ago
  hello world

License

This project is MIT licensed.