MinIO Reached End of Life in February 2026 — and Docker’s Five-Year Extension Covers a Release That Lost Its Console First

Evidence note: This article rests on a primary vendor announcement — Docker’s own blog post about extended support for MinIO — kept distinct from the separate question of whether the claims in it have been confirmed elsewhere. The supporting material about how MinIO is actually deployed comes from public GitHub repositories, a vendor how-to on MinIO’s own blog, and one tertiary reference work; those show that a pattern exists, not how widespread it is. No test was run for this article. Where a specific figure, date, or capability appears below, its evidence level is marked at that claim.

In short: according to Docker’s announcement, MinIO passed end of life in February 2026 and Docker Extended Lifecycle Support offers up to five years of patched builds for it. The awkward part for operators is not the patching. It is that the thing being kept alive may already be missing the administration surface most people learned it through.

February 2026: MinIO reached end of life

Docker states that MinIO reached end of life in February 2026 and frames its extended support offering around that date (Docker’s announcement). (Evidence: a vendor announcement by the party selling the remedy. An upstream MinIO end-of-life notice is not among the sources reviewed here, and no independent confirmation of the February 2026 date was located; treat the date as reported rather than as settled record.)

That distinction matters more than it usually would, because the company making the announcement is also the company offering the paid continuation. The announcement has been discussed publicly (Hacker News thread), which is a reasonable place to watch for corrections or upstream clarification, though nothing in this article depends on what that discussion concluded.

Readers who want the shorter version of the support-offering side will find a companion piece on this site covering how Docker’s extended support keeps an end-of-life MinIO patched and audit-ready.

Why this lands on self-hosters: the object storage layer under a Compose stack

The reason an end-of-life notice for a storage server travels further than most is that MinIO is frequently not the product — it is the layer underneath one. It is widely described as being deployed through Docker and Docker Compose as the S3-compatible object store beneath data platform tooling such as Spark, Trino, and Airflow. (Evidence level: not independently corroborated as a prevalence claim. Public repositories show the pattern in use — for example, an end-to-end data platform project and a retail banking lakehouse project — but a handful of repositories demonstrates that people do this, not how many do.)

The practical consequence of sitting at that layer is that the upgrade decision is rarely local. A storage endpoint referenced by a query engine, a scheduler, and a batch job has three sets of client libraries pinned against it. Swapping it is not a docker compose pull; it is a compatibility exercise across every consumer. That is the structural reason an extended-support product has a market here at all, and it holds regardless of how the February date is eventually confirmed.

The other place it sits: the object storage endpoint for Grafana Loki

A second common placement is underneath log aggregation rather than analytics. MinIO’s own blog publishes a how-to for using it as the object storage endpoint for Grafana Loki (MinIO’s Loki guide). (Evidence: vendor-authored documentation. It establishes that MinIO documented and recommended this configuration; it does not establish how many Loki deployments actually use it, and no independent usage data was located.)

This placement carries a different risk profile than the analytics one. Log storage is where compliance retention windows usually live, which is precisely the ground on which an "audit-ready" pitch is made — and precisely where an unpatched CVE in the storage layer is hardest to defend in a review.

What Docker Extended Lifecycle Support offers

Docker describes Extended Lifecycle Support (ELS) as a way to keep end-of-life software — MinIO among the named examples — patched, compliant, and audit-ready (Docker’s announcement). The claim is Docker’s own, and it is stated here as Docker’s position rather than as a verified property of the builds. (Evidence: vendor claim about its own product; no third-party audit, patch-latency measurement, or CVE-response record was located to corroborate it.)

Three things the announcement, as reviewed, does not settle, and which are therefore open: what the patch cadence is in practice, how quickly a newly disclosed CVE in an end-of-life MinIO reaches a covered image, and what "compliant" resolves to against any named standard. Those are the questions an operator would actually need answered before treating the coverage as a control in an audit.

The scope of that coverage: up to five years

Docker states that ELS provides coverage for up to five years, and that it covers both versions upstream no longer supports and entire projects (Docker’s announcement). (Evidence: vendor announcement. The five-year figure is Docker’s own stated maximum — "up to" is doing real work in that phrasing — and it has not been independently verified. Pricing, eligibility, and which specific MinIO versions fall inside the window are not established by the sources reviewed.)

The "entire projects" part is the more interesting half. Coverage scoped to a project rather than to a single pinned version is what would make the offering useful to the Compose-stack case above, where a deployment may be carrying several MinIO versions across environments. Whether it works that way in practice is open.

What a covered MinIO still does

An extended-support build is only worth buying if the software still does the job. MinIO is commonly described as supporting erasure coding and storage classes for data redundancy. (Evidence level: not independently corroborated here. A tertiary reference work lists it among distributed file systems with erasure coding (comparison of distributed file systems), which is weak sourcing for a capability claim; the specific behaviour of storage classes in an end-of-life build was not tested.)

It is also commonly described as supporting multipart, resumable uploads. (Evidence level: not independently corroborated. A public multipart upload demonstration repository shows developers implementing the pattern against MinIO, which indicates the capability is reachable from client code, but a demo project is not a specification and says nothing about behaviour under the specific versions ELS covers.)

Neither claim is doubtful in the sense of being surprising — both are longstanding parts of MinIO’s reputation. The reservation is narrower and worth stating precisely: nothing reviewed here confirms these behaviours in the end-of-life builds that extended support would actually ship, and that is the only version that matters for this decision.

The administration surface: the console came out first

The sharpest wrinkle in the story is that the end-of-life date may not be the first thing MinIO operators lost. Reports indicate that MinIO removed the web console from its free edition in the year before the end-of-life date — that is, at some point during 2025. (Evidence level: not independently corroborated, and this is the least-supported claim in the article. No MinIO release note, changelog entry, or upstream announcement documenting the removal is among the sources reviewed, and neither the exact date nor the precise scope of what was removed could be established. It should be treated as an open question, not as background fact.)

If it holds, it reorders the whole decision. Extended support would then be preserving a release whose graphical administration path was already gone — meaning teams evaluating ELS are not choosing between "keep what we have" and "migrate," but between two different unfamiliar operating models. Anyone weighing this should verify the console’s status directly against their own intended version before budgeting for coverage, rather than taking it from secondary reporting including this article.

What is left to administer with

Assuming the console removal holds, what remains is the part that was always the real interface: the S3-compatible API endpoint, and the ecosystem of third-party S3 tools that speak to it. That ecosystem is genuinely large — any client, CLI, or orchestration layer written against S3 semantics is a candidate, and public tooling built to drive S3-compatible endpoints exists independently of MinIO’s own surface (an S3 orchestration tool is one public example). (Evidence: a single public repository, offered as an existence proof that third-party tooling targets S3-compatible endpoints, not as a recommendation or as evidence of ecosystem size.)

The operational cost of a console-free model is not usually the day-to-day work, which scripts fine. It is the occasional work: the incident where someone needs to inspect a bucket policy at 3am, the onboarding of an engineer who has never used an S3 CLI, and the audit request that previously got answered with a screenshot. Those are the tasks that a console absorbed invisibly.

Developer takeaway

Three paths, with the criteria that actually separate them:

Take extended support when the storage layer has multiple pinned consumers (the Spark/Trino/Airflow case), when a retention or compliance obligation makes an unpatched CVE unacceptable, and when the team already operates via CLI and automation rather than the console. The cost is a dependency on a vendor’s patch pipeline that, on current evidence, is unaudited from outside.

Migrate when the S3 surface in use is narrow — bucket read and write, no exotic policy or lifecycle work — because that is the case where another S3-compatible backend is a configuration change rather than a project. The signal to watch is how much of the deployment depends on MinIO-specific behaviour versus plain S3 semantics.

Accept a console-free model and stay put when the deployment is small and internal, patching risk is tolerable, and the only thing being lost is a browser tab. This is the honest default for hobby and homelab stacks, and it costs nothing.

Before committing to any of these, confirm two things first-hand: the end-of-life date and coverage terms against Docker’s current published terms rather than a summary, and the console’s actual status in the specific version being run.

What has not been tested, and the follow-up worth running

Nothing in this article was measured. No ELS-covered image was pulled, no MinIO instance was booted, no upload was timed, and no patch latency was observed. The article is a reading of a vendor announcement plus public code, and it is scoped to that.

A concrete follow-up would be worth running and is proposed, not performed: bring up a MinIO release from the end-of-life window under Docker Compose, record the exact image digest and date, then check three things directly — whether a web console is reachable, whether an erasure-coded set and storage classes configure as documented, and whether a large multipart upload survives an interrupted connection and resumes. Record versions, environment, sample size, and failures, including the runs that do not work. That would convert the three hedged capability claims above into measured ones, and would settle the console question for at least one specific version, which is more than any source reviewed here does.