My https://github.com/uroni/hs5 is designed for this use case. One notable thing is that compared to MinIO (and others) it does not store the objects as individual files. I also have DuckDB directly integrated. The readme has a comparison to Garage, seaweedfs, RustFS and Ceph.
Is there a safe way to make backups of the index.lmdb and data0 files without stopping the server?