Thanks nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr for building blossom-server!
It was super-easy to set up and get running. What's cool is it has discovery built-in: if I request a file that wasn't uploaded, the server would search for it by hash on nostr using file metadata events, and if the file is found elsewhere - would cache and return it.
That helps nostr:npub1pr4du5xl28dy5sh4msz9uddnwxgzupkk4qzjzklv84edc6ruevzqlxmkzp sites work reliably. They fetch theme assets (templates etc) from blossom servers. If one is down, the engine now falls back to a couple known servers with discovery enabled, and will eventually do the discovery by itself. Blossom is early, but already very useful, and nostr-based websites would make much less sense without it!
https://github.com/hzrd149/blossom-server