Oddbean new post about | logout
 I’ve seen the blossom spec on GitHub - is there a reference implementation of a managed server? 
 1. Best production ready implementation is probably: https://github.com/lovvtide/satellite-cdn
2. Reference implementation by hzrd194: https://github.com/hzrd149/blossom-server
3. My proof of concept that runs on CloudFlare Free tier for personal use: https://git.v0l.io/florian/cf-worker-blossom-server
 
 Why is it based of Cloudflare? Can't a different S3 compatible provider/tool be used?  
 1 and 2 should run with any S3 compatible storage. It's not enough to just store the data though - there is also some logic (docker based server) and a database (for ownership, payments..) required. So you need a place to run those as well.

I wanted to build (3) this on serverless components without having to run a docker container and a database anywhere. That's why I implemented that Cloudflare based project and it's APIs are not directly compatible. 

This could be done similiarly on AWS mit Lambda Functions, Dynamo DB and S3. 
 Yeah I understand that it is not just S3. I was just wondering about swapping the object storage layer for Minio or StorJ.  
 Yeah you can configure your own s3 storage in the config: https://github.com/hzrd149/blossom-server/blob/master/config.example.yml#L37 
 cloudflare is decentralised? 
 NO it's very much centralized but it is my personal server. 

Having multiple different storage locations makes it decentralized.

And building tools to move / distribute your data. 
 I've been trying to keep a list here
https://github.com/hzrd149/awesome-blossom/tree/master?tab=readme-ov-file#server-implementations 
 rofl, that’s the best repo name ever.  familiar with the naming convention but that’s a winner. 
 I wasn't the one to come up with the "blossom" name. but it turns out to be perfect, has a recognizable icon and rhymes with almost anything 
 It was the name of a heart attack inducing appetizer that was served at Chili’s going back to the late 80’s