README: init

This commit is contained in:
Astro 2023-01-11 19:41:48 +01:00
parent f2a4e67374
commit 125f201e28
2 changed files with 51 additions and 0 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/target /target
/result
/private-key.pem /private-key.pem
/public-key.pem /public-key.pem

50
README.md Normal file
View file

@ -0,0 +1,50 @@
# buzzrelay
A follow-only ActivityPub relay that connects to Mastodon's [Streaming
API](https://docs.joinmastodon.org/methods/streaming/#public).
You don't need to run this yourself, just use the instance at
[relay.fedi.buzz](https://relay.fedi.buzz/).
## Setup
### Build
NixOS/Flakes users are in luck: not only does this build, it also
comes with a NixOS module!
Anyone else installs a Rust toolchain to build with:
```bash
cargo build --release
```
### Generate signing keypair
ActivityPub messages are signed using RSA keys. Generate a keypair
first:
```bash
openssl genrsa -out private-key.pem 4096
openssl rsa -in private-key.pem -pubout -out public-key.pem
```
Let your `config.yaml` point there.
### Database
Create a PostgreSQL database and user, set them in your `config.yaml`.
The program will create its schema on start.
## Ethics
*Should everyone connect to the streaming API of the big popular
Mastodon instances?*
Once these connections become a problem, they may become disallowed,
resulting in problems for everyone. That's why **fedi.buzz** serves
the firehose feed through the streaming API, too.
You can let this service use **fedi.buzz** as listed in the default
`config.yaml`.