Tech Digest

Backup

MinIO

The S3-compatible object store everyone used, now archived upstream

BackupAGPL-3.0 (repository archived)Slowedarm64 builds
Last reviewed Profile maintained against the project's own documentation
Operational load
4 / 5
Heavy
Idle memory
250 MB
typical use ~900 MB
Moving parts
1
containers in a normal deployment
Backup shape
File copy
live file copy safe

A high performance S3-compatible object server written in Go, using erasure coding across local drives instead of a filesystem or database. Its community edition was the default self-hosted S3 endpoint for years; the upstream repository is now archived and development has moved to the commercial AIStor product.

Our verdict on MinIO#

Do not start a new deployment on it. The upstream repository was archived on 25 April 2026 and its README opens with THIS REPOSITORY IS NO LONGER MAINTAINED, after being marked unmaintained in February 2026. The community edition is now source only: there are no new pre-compiled binaries or images, the historical ones stay downloadable but frozen, and the last release was RELEASE.2025-10-15T17-29-55Z, itself a privilege escalation fix. Before that, RELEASE.2025-05-24T17-08-30Z removed the embedded management console and stripped external OIDC and LDAP login from the community build, so an in-place upgrade silently took away people's admin UI and their SSO. The replacement, AIStor Free, is not open source: its licence permits standalone single-node use only, with no clustering, no modification and no redistribution. The AGPLv3 code still works and you can still build it with Go 1.24 or later, but you are now the maintainer. Most self-hosters should move to Garage or another maintained project.

Who MinIO is for#

Choose it if

  • An existing MinIO cluster you cannot move yet, where the job is now pinning a version, isolating it from the internet and planning an exit.
  • Someone who needs the widest S3 API surface on-premises today and has the Go skills to build and patch it themselves.
  • Short-lived test and CI environments that need an S3 endpoint and do not care that the image is frozen.
  • Anyone willing to accept a proprietary EULA for a single node, for whom AIStor Free is a supported path off the archived code.

Look elsewhere if

  • You are choosing a self-hosted S3 endpoint today. The upstream project is archived, so pick something with a maintainer.
  • You need OIDC or LDAP login and a management console. Both were removed from the community build in May 2025.
  • You are unwilling to compile from source and monitor CVEs yourself, because there are no more community binaries or security releases.

What running it actually looks like#

One container per node, S3 API on 9000 and, on older builds, a console on the port given to --console-address (conventionally 9001). It wants whole block devices or dedicated directories, not a shared filesystem, and the drive count and layout are decided at first start: erasure sets are formed then and cannot be reshaped, so growth means adding a whole new server pool, not adding disks. Default credentials are minioadmin:minioadmin and changing them is the first thing you do. Today, the community route is go install github.com/minio/minio@latest with Go 1.24 or later, because no new binaries or images are published; the archived images up to RELEASE.2025-10-15 remain pullable and multi-arch, including arm64. Upgrades are effectively over, and the docs site now covers only the commercial AIStor product.

Resource profile#

Memory
250 MB idle, around 900 MB in ordinary use. Estimates for a single-node homelab instance. Memory scales with concurrent requests and with the number of objects being listed or scanned; large clusters were always specified with far more, and there is no current community sizing guidance because the community documentation is gone.
CPU and acceleration
Erasure coding and per-object checksums cost CPU on every write; the background scanner that verifies and heals objects adds a steady baseline that grows with object count.
Storage growth
Erasure coding means usable capacity is raw capacity minus parity, and the drive layout is fixed at deployment. Single-drive mode does erasure coding on nothing, so it protects against nothing.
Operational load
4 of 5, Heavy. Even before the archive it needed drive layout planning, healing awareness and version-pinned upgrades. With no upstream maintainer you are now also responsible for compiling it yourself and tracking Go and dependency CVEs, which pushes it firmly into the version-pinned, rehearsal-worthy band.

Figures describe a small single-household install and are the working assumptions behind our stack planner. Your numbers will differ with library size, user count and hardware. See methodology.

Data and backup surface#

Two things need protecting and people usually only think about one. The buckets are the obvious part, but .minio.sys on every drive holds the internal state: access keys, policies, bucket metadata, versioning and lifecycle configuration. Copying only the bucket directories gives you objects that no longer have identities or permissions attached, so replicate at the S3 layer (mc mirror, bucket replication, or a backup tool writing to a second endpoint) rather than at the filesystem layer. Integrity is checked continuously by the background scanner, which compares erasure-coded shards and rebuilds damaged ones; that only works if you have parity, so a single-drive deployment can detect nothing and repair nothing. Losing more drives in an erasure set than its parity count loses that set outright, and no scan recovers it.

Derived backup shape

File copy. Copy the config and data directories. Safe while running for anything that writes atomically.

Traps and surprises#

The repository is archived and read-only

GitHub archived minio/minio on 25 April 2026 and the README states the project is no longer maintained. There will be no further security releases, no issue triage and no community binaries. If you are running it, the realistic posture is to firewall the admin surface, pin the last release (RELEASE.2025-10-15T17-29-55Z), and treat any newly disclosed Go or MinIO CVE as something you patch and build yourself, or as a reason to migrate.

May 2025 upgrade removed the console and SSO

RELEASE.2025-05-24T17-08-30Z was a breaking release: the embedded management UI was deprecated and moved out to a separate object browser, and external identity provider logins via LDAP and OIDC were removed from the community build and made part of the commercial product. Anyone who upgraded a running instance lost their admin interface and their directory logins in one step, with policy and replication management moving to mc on the command line.

AIStor Free is a proprietary single-node licence

The recommended successor is not a licence change of MinIO, it is a different product under a EULA. The free tier permits installation and use only in standalone mode, meaning single node with no distributed clustering and no high availability, and it forbids modifying, reverse engineering or redistributing the software. It is fine for a homelab if you accept that, but it is not open source and it will not run your three-node cluster.

The drive layout is fixed the moment you start

MinIO forms erasure sets from the drives present at first start and cannot reshape them afterwards. You do not add a disk to an existing set; you add an entire new server pool with its own drives, and existing objects are not rebalanced into it automatically. Homelabbers who start with two disks intending to add a third later find out that the only path is a new pool or a full data migration into a fresh deployment.

The community documentation is gone

docs.min.io now documents AIStor exclusively, describing installation and operations for AIStor Server clusters. Configuration references, tuning guidance and troubleshooting for the community server are no longer published there, so operational answers you find in search results may describe commands or flags the archived binary does not have, or the reverse. Keep a local copy of whatever documentation your version needs before you need it.

Specifications#

Category
Backup and object storage
Licence
AGPL-3.0 (repository archived) (Copyleft)
Written in
Go
First release
2015
Maturity
Slowed
Datastore
None external. Objects and their metadata live on the raw drives, with erasure coding and internal state under .minio.sys
Default ports
9000, 9001
Ships as
docker, native binary (historical), build from source, kubernetes operator
arm64 builds
Yes
Identity
Local accounts only. External identity via OIDC and LDAP was removed from the community build in RELEASE.2025-05-24 and moved into the commercial product. What is left is local access keys and policies.
Replaces
Amazon S3, Wasabi, Backblaze B2, DigitalOcean Spaces
Project site
www.min.io
Source
github.com/minio/minio
Documentation
docs.min.io

Alternatives to MinIO#

Everything else in backup and object storage, closest in operational weight first.

ToolOps loadIdle RAMLicence
Duplicati3, Moderate200 MBMIT
Garage3, Moderate150 MBAGPL-3.0-only
BorgBackup2, Light80 MBBSD-3-Clause
Kopia2, Light200 MBApache-2.0
rclone2, Light40 MBMIT
restic2, Light100 MBBSD-2-Clause

Where MinIO comes up elsewhere#

Sources#

Published . Last reviewed . Found something out of date? Tell us and we will fix it and log the change.