Skip to content
Ditchly
Menu

Last checked October 29, 2026

Move from MinIO to SeaweedFS

We earn commissions when you shop through the links below.

Stand up SeaweedFS, point one app at the new S3 endpoint, and copy the buckets. The old MinIO container is no longer a maintained image.

How long: A day for a dev stack. Longer if you use versioning or object lock.

Take it out

  1. Step 1

    List the buckets and the apps

    Write down each app that uses the MinIO endpoint, plus whether it needs versioning, presigned URLs, object lock, or lifecycle rules.

  2. Step 2

    Copy the data with an S3 tool

    Use a client you already trust to mirror each bucket to a disk or to the new server. Do this before you delete the old volume.

  3. Step 3

    Keep the old endpoint up until one app works

    The MinIO README says the community repo is no longer maintained and that new builds are source only. Leave the current container running while you test the replacement.

Put it in

  1. Step 1

    Run SeaweedFS on one machine first

    Start with a single node if this is a dev stack. Create the buckets with the same names the apps expect.

  2. Step 2

    Point one app at the new endpoint

    Change the endpoint, the key, and the secret for one service. Upload, download, and a presigned URL are the three checks.

  3. Step 3

    Turn on the extra S3 features you listed

    Enable versioning only on the buckets that use it. Test object lock and lifecycle on a copy before you depend on them.

Need a server? DigitalOcean is one simple option. Railway is another.

We are a DigitalOcean affiliate.

We may earn from this Railway link.

What you lose

  • A perfect S3 match

    Calls your app never uses can still differ. The test is the calls it does use.

  • Official MinIO images

    Do not plan on a new official community binary. The README says those releases stopped and old binaries get no updates.

  • A one-node Ceph cluster

    Ceph is the tool for a large cluster. It is the wrong replacement for a single compose service.

When the test app has run for a day, mirror the remaining buckets and switch the rest of the stack. Then retire the MinIO volume.

https://ditchly.co/migrate/minio-to-seaweedfs