Oddbean new post about | logout
 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.