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.