what do you want to do exactly?
Discussion
I’m using Nostr as the communication mechanism for a special purpose site. Nostr is not the focus, just the user-generated-message sharing provider.
My app sends custom events (unclaimed kind number) with empty content. Tags contain all the relevant info.
Users’ nsecs are randomly generated. I may later allow profile features, but for now it’s irrelevant.
So I need a relay with the following features:
0. (Required) Installable on my lowish -powered Ubuntu VPS.
1. (Required) Allow public access over SSL.
2. (Required) Persist events.
3. (Nice to have) Basic throttling. E.g. limit to 1 published event per second per IP address.
4. (Nice to have) Event kind allow-list. Disallow events of all kinds other than a specific short list of kind numbers.
5. (Nice to have) NIP-13 Proof-of-Work enforcement. Alternative to basic throttling.
docker pull scsibug/nostr-rs-relay
docker run -p 4445:8080 scsibug/nostr-rs-relay
yeah this is the rust relay
Looks like this is going to have to be my next attempt. nostream’s dependency on Postgres failed to start.
it's gonna be a fun dumpster fire but ok... this is why i'm a nip-42 maxi... paid relays are the only way to protect DM privacy
interesting, and you've tried strfry and failed? There was a rust relay that I saw a while back that seemed customizable, can't find it though.
Not really sure what's entailed in building your own relay from scratch, but that might be a good place to start for custom use case? If the requirements are the same across relay functionality, then maybe you can build the foundation and then your "nice to haves" on to of that? Or maybe you've tried this already?
strfry was easy to use and install, but I never really tinkered with it more than was required. That rust one also looked good, but i don't know rust so I left it out. The other relays were like personal relays and stuff. Someone who would know would be nostr:npub1x0r5gflnk2mn6h3c70nvnywpy2j46gzqwg6k7uw6fxswyz0md9qqnhshtn but I think he's moved away from nostr to something else.
Sounds like he needs strfry or ditto.pub
Yeah, strfry was too beefy to compile on my VPS. Copying the laptop-compiled binaries failed (something about a missing lib*.so file).
Tried nostream, but its dependency on Postgres wouldn’t start. Probably to little memory in both cases.
I have gotten nostr-re-relay to work, so I’m going with that for now.
i'm not sure if you are even reading my notes but i literally just built and am running my realy relay on wss://nostr.realy.lol this evening and you already have access to read and write to it if your client auths to confirm you are one of my follows
it took a bit over a minute including download time to build it on a 1gb memory VPS
you should be able to get any Go based relay to build from source in even as small as 512Mb of memory
I am reading your notes, but they don’t apply to my use case I don’t think.
My users have randomly generated nsec that they don’t even see. No profile info. No standard event kinds (no 0, 1, 2, 7, etc., just custom events)
So there can be no “follows” or web of trust etc. For my use-case Nostr is just the messaging protocol between anonymous contributors who don’t interact directly and have no in-app means of doing so.
