I recently implemented a text/snippet sharing tool that uses Minio instead of S3, because I like to self-host everything.
https://minio.io/
In my case I have Minio in front of Azure blob storage, so Seafile is storing data in that.
I host Seafile and Minio using Docker Compose, which was super-simple to get started with.