mirror of
https://github.com/astro/buzzrelay.git
synced 2024-11-27 22:31:01 +00:00
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# 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
|
|
|
|
See also: [Notes on an setting up a fediverse relay with FediBuzz on an Ubuntu server.](https://box464.com/posts/fediverse-relays/)
|
|
|
|
### 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`.
|