Hey, thanks for the response.

I think one of the biggest points to improve on relay implementations is the ease of deployment. Right now, it's still a bit arcane to manage your own relay and a lot of them still rely on docker magic to make them work.

I'm not sure if this is a controversial take but I always view a project's reliance on docker as a sign that it's gone a bit unwieldy and complex. Aside from that, it's also hard and messy to troubleshoot docker containers when things go wrong.

If I'm to ponder about it, my ideal "small group" nostr relay would just be a plain package that someone with little experience can install using their distro's package manager, with standard config files under /etc and a basic rc/systemd script that starts and manages it.

Reply to this note

Please Login to reply.

Discussion

A lot of projects that use docker do get out of hand, but in this case I think it’s a good fit. You have a server and a data store. The perk of docker is it manages your database installation and backup without you downloading anything except docker.

Something I don’t know yet is if there’s multiple relay implementations. That would be an indicator of how likely you are to have to dig through logs. I just joined today… read one of the rust relay setup guides, but are there more? Or one agreed upon implementation all relays use?

Yeah, I think docker has its perks. It makes it easy to deploy stuff and all. It's also great if you are running a VPS with multiple services and you don't want to deal with those services conflicting with each other.

That said, I just think that a relay that's designed for small groups should be as simple and straightforward as possible. Not relying on docker for deployment could reduce the maintenance overhead and headaches while troubleshooting.

There are bunch of relays out there but most of them are in the very early stages of development. I think most relays use either one of the three: nostr-rs-relay, strfry or nostream.

What is stopping me from running a relay that has code to whitelist other relays like you could on mastodon?

Is the idea relays don’t talk to each other so unlike mastodon you can just move to other relays

Yes. Relays are small, individual island content. Though there are some relays that try to link content to and from other relays, the protocol spec explicitly stated that relays shouldn't talk to each other.

Nostr is a heavy client, thin server type of thing. The relays are just that, relays. They store notes and send it back to anyone who requests it.