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

Reply to this note

Please Login to reply.

Discussion

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.