MinIO and S3-compatible storage: what to check in 2026

Written by

MinIO can expose an S3-compatible object store on infrastructure you operate. For a new deployment in 2026, its maintenance status matters as much as API compatibility.

Published on

MinIO and S3-compatible storage: what to check in 2026

Updated

The old recommendation needs an update

The public minio/minio repository is archived and read-only as checked in September 2026. An old tutorial with a container tag is therefore not enough justification for a new production installation. Review the current distribution, maintenance and support path before choosing it.

An existing installation does not need a blind overnight migration. First identify the running version, data volume, exposed endpoints and recovery procedure. Consult the release history and the support arrangement that applies to your deployment. Avoid equating an archived repository with the status of every commercial product under the same name.

A controlled storage migration
Inventory, copy, verification and a reversible switch form the storage migration workflow.

What belongs in object storage?

Use a database for records and relationships. Object storage holds files such as images, documents and exports. A database record can store an object key while the storage service holds the bytes. Those two parts must agree during deletion, backup and recovery.

A public image bucket and a private document bucket have different access requirements. Keep write credentials on the server, scope them to the required operations and avoid exposing an administrative console simply because it is convenient during development.

S3 compatibility is a test plan, not a promise

Changing an endpoint is only the start of a migration. Test the operations your application actually uses. Amazon's S3 API reference is a reference for behaviour, not proof that another implementation supports every feature.

Application operation What to verify
Upload Limits, content type, metadata and multipart behaviour
Download Private access, signed URL expiry and caching
List and delete Pagination, object prefixes and error handling
Browser access CORS rules and allowed origins
Recovery File contents, object counts and database references

Do not use an ETag as a universal file checksum. Its meaning depends on the upload and encryption path. Choose an integrity check that is valid for both source and destination.

How I would plan a move

Copy a representative sample to the candidate destination and run the application against it. Verify private and public objects, large uploads and failures. Then plan the full copy, any write pause or change capture, and the rollback window. Keep the source until the destination and backups have been verified.

Storage decisions are part of operating an application, not only choosing a container. Wegweiser Leben includes storage alongside its Rust backend. For a new system, I would include the maintenance and restore plan in the web application scope.

Talk to me

Tell me what you have in mind. I usually reply within one working day.