d94140c443
Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447' (2023-12-14) → 'github:NixOS/nixpkgs/98b00b6947a9214381112bdb6f89c25498db4959' (2024-02-22) • Updated input 'utils': 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15) |
||
---|---|---|
src | ||
static | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
config.yaml | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
nixos-module.nix | ||
README.md |
buzzrelay
A follow-only ActivityPub relay that connects to Mastodon's Streaming API.
You don't need to run this yourself, just use the instance at 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:
cargo build --release
Generate signing keypair
ActivityPub messages are signed using RSA keys. Generate a keypair first:
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
.