-

@ Anthony Accioly
2025-04-13 17:57:46
He didn't say no when I mentioned it (well, he didn't say yes either, lol), so I'll try. If I can't build it in Khatru, I'll just use Haven. But it definitely makes sense to have it in Khatru, since a lot of relays will want to provide NIP-05 identities beyond just serving a static nostr.json.
As for blobstore, I guess not... This is at the Khatru Blossom server level. Unless you're using the same database for Blossom and your relay like we did in Haven.
Once my PR is in, you’ll be able to configure your relays to redirect GET /{SHA256} requests to public buckets or CDNs. Khatru will figure out the proper file extension for the redirect, so we don't break the content media type. I think the only thing blobstore would need to do to be compatible is to make sure it uploads files with the correct extension to S3-like services if you arent doing it already. Khatru will handle the rest.
This saves a lot of bandwidth compared to proxying the blobs. I'm planning to host my own media with either OCI or R2 (both compatible with the S3 / MinIO Go client). They both have generous free tiers.
Unfortunately, even with a pretty decent 1 Gbps link, running relays and Blossom locally has been quite taxing. Too many damn crawlers and bots around lately...
I still love what you did with blobstore, though. Since the Blossom options on Haven will basically be either saving to disk or using S3-like services with the MinIO Go client (which we're already using for backups), I may end up reusing your library if I can. Thanks for your work!