I may try to convince Utxo to include an official Dockerfile in the main repo again at some point, maybe something simply built with GoReleaser (no Compose files or anything like that in the main repo). I think we’re now at a different level of maturity, and I can shield him from all the support requests and red herrings caused by broken Docker setups. It would be great to have an official, signed image that folks can pull. But for now, people like you and nostr:nprofile1qqsq4hm8gawvch9y2m7nqghydaw4ym4s4a3gf0u9f9xqm4uy0ul9qvcpremhxue69uhkstnrdajxjmn8v9ex2mnp9e6x7up0da6hgcn00qq3vamnwvaz7tmwdaehgu3dwfjkccte9eshqup0qyghwumn8ghj7mn0wd68ytnhd9hx2tcht4zgq have been doing a great job providing independent builds.
As for getting easily distracted… this makes two of us 🤣
I got you. There’s definitely some interest in NIP-86, which could potentially be extended with custom endpoints. That way, someone could build a React, Vue, or whatever admin UI on top of it. If I’m not mistaken, nostr:nprofile1qqst6jhruelzn9jdf9qhyfsac3fetjyld0fwwary9cmxzfchrhacragppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj76n9d3k8jenfwd5zumrpdejz7yj9f6t was interested and building his own Khatru-based stuff to enable this. Maybe one day we'll hage a NIP-86 GUI that can be reused by all Khatru relays? :)
My main concern with this kind of feature is, again, the attack surface. We'd need to be very careful that users don't expose it to the internet without properly securing the endpoints. Beyond auth + something like NIP-46, I’d also prefer this kind of interface to be limited to the local network (or exposed via VPN). Unfortunately, there are already plenty of bots targeting Nostr relays out there.
Also, Haven doesn't really have much to configure after the initial setup. This kind of UI might make more sense if I ever implement a PGP-like owner trust model. In that case, the relay owner might want a convenient UI to mark an npub as someone who follows bots, and therefore exclude their follows from the WoT. But honestly, that's way down my priority list. First, I want to fix some of Haven's and Khatru's concurrency issues. Then there’s a lot of Blossom work: redirecting, fixing the mobile mirroring on Primal thing, separating the Blossom database, etc. And then there's writing tests (we don't have any at the moment and at least in theory I'm supossed to be a TDD person… Having no tests makes me anxious :)), improving backup and introducing restore functionality, adding optional "open/whitelist" relays for NIP-46, Cashu, NWC, etc. And finally releasing the big v2.0. A lot of pedestrian work required on my side before I can get to the "fun" bits.