Skip to content

Replace MinIO with SeaweedFS in quickstart and docker-compose#15577

Open
chrislusf wants to merge 8 commits intoapache:mainfrom
chrislusf:replace-minio-with-seaweedfs
Open

Replace MinIO with SeaweedFS in quickstart and docker-compose#15577
chrislusf wants to merge 8 commits intoapache:mainfrom
chrislusf:replace-minio-with-seaweedfs

Conversation

@chrislusf
Copy link

@chrislusf chrislusf commented Mar 10, 2026

Summary

Replace MinIO with SeaweedFS mini mode in quickstart and docker-compose files.

MinIO is under maintenance mode and its Docker images have unpatched CVE vulnerabilities (#14638). SeaweedFS mini mode is a single-binary S3-compatible storage server that is actively maintained and lightweight.

Changes

  • site/docs/spark-quickstart.md
  • docker/iceberg-flink-quickstart/docker-compose.yml
  • kafka-connect/.../docker-compose.yml
  • kafka-connect/.../TestContext.java

Closes #14638

@chrislusf chrislusf marked this pull request as draft March 10, 2026 07:51
@chrislusf chrislusf force-pushed the replace-minio-with-seaweedfs branch 16 times, most recently from 88fba7e to f6642ad Compare March 10, 2026 18:24
MinIO is under maintenance mode and its Docker images have unpatched
CVE vulnerabilities. Replace it with SeaweedFS mini mode, which provides
an S3-compatible API in a lightweight single-binary deployment.

Closes apache#14638
Copy link
Contributor

@Fokko Fokko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a reasonable alternative to me. Seaweedfs seems to be well established: https://github.com/seaweedfs/seaweedfs

Copy link
Contributor

@singhpk234 singhpk234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chrislusf !

@kevinjqliu
Copy link
Contributor

kevinjqliu commented Mar 11, 2026

there are a few more references of "minio" in the codebase (current branch)
22 results across 12 files:
Screenshot 2026-03-10 at 11 02 08 PM

we should at least fix the sql and md files first

@kevinjqliu
Copy link
Contributor

Here are a few other discussions around replacing minio:
#14638
#14945
#14928
https://lists.apache.org/thread/prmpbfy6v20spsmts19hs8gbkkxo16vv
https://lists.apache.org/thread/vnw9jonmfcsz6bwojhfch1nmywyl50h3

lets bring this up at the community sync tomorrow

hostname: minio
# SeaweedFS for S3-compatible object storage (mini mode)
seaweedfs:
image: chrislusf/seaweedfs:latest
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: can we pin to a hash instead?

Copy link
Author

@chrislusf chrislusf Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed kafka-connect/kafka-connect-runtime/docker/docker-compose.yml and docker/iceberg-flink-quickstart/docker-compose.yml to a specific tag. They are used for CI, and better not fail due to docker image changes.

The site/docs/spark-quickstart.md isfor documentation purpose. Having a specific version in the documentation is an eyesore and may waste efforts to keep things up-to-date. So I just cleaned up the tag latest.

…ation guide

Update S3 endpoint references from minio:9000 to seaweedfs:8333
to match the docker-compose configuration. Update Daft integration
guide to reference SeaweedFS instead of MinIO.
SeaweedFS integration tests use GenericContainer from the core
testcontainers library, so the dedicated MinIO module is no longer
needed.
Replace MinioUtil with SeaweedFSUtil backed by GenericContainer
running chrislusf/seaweedfs in mini mode. Update all S3 integration
tests (TestS3FileIO, TestS3InputStream, TestS3OutputStream,
TestS3RestSigner) to use the new utility. Rename
TestS3FileIOWithLegacyMinIO to TestS3FileIOWithLegacyMd5.
@chrislusf chrislusf force-pushed the replace-minio-with-seaweedfs branch from d91184e to 0284990 Compare March 11, 2026 14:45
@chrislusf
Copy link
Author

there are a few more references of "minio" in the codebase (current branch) 22 results across 12 files: Screenshot 2026-03-10 at 11 02 08 PM

we should at least fix the sql and md files first

@kevinjqliu all minio references are changed, except one in the changelog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace MinIO with RustFS in Iceberg Quickstart due to maintenance and security concerns

4 participants