Go to file
Ravind Kumar d4bc4fd977
Update README with Docker and Helm installation instructions
Added instructions for building Docker image and using Helm charts.

This closes the loop on supported methods for deploying MinIO with latest changes.
2025-10-07 10:32:10 -04:00
.github remove support for FIPS 140-2 with boringcrypto (#21292) 2025-05-16 07:27:42 -07:00
buildscripts allow cross-compiling support for RISC-V 64 (#21348) 2025-06-08 09:12:05 -07:00
cmd fix: timeN function return final closure not be called (#21615) 2025-09-30 23:06:01 -07:00
dockerscripts Download static cURL into release Docker image for all supported architectures (#20424) 2024-09-12 08:45:19 -07:00
docs Use new gofumpt (#21613) 2025-09-28 13:59:21 -07:00
helm/minio Update docs links throughout (#21513) 2025-08-12 11:20:36 -07:00
helm-releases update helm release v5.4.0 2025-01-02 21:34:47 -08:00
internal Use new gofumpt (#21613) 2025-09-28 13:59:21 -07:00
.dockerignore add all missing go.mod for debugging tools (#18049) 2023-09-18 13:47:03 -07:00
.gitignore fix: information disclosure bug in preconditions GET (#19810) 2024-05-27 12:17:46 -07:00
.golangci.yml Migrate golanglint-ci config to V2 (#21081) 2025-03-29 17:56:02 -07:00
.mailmap Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
.typos.toml Fix evaluation of NewerNoncurrentVersions (#21096) 2025-04-02 23:45:06 -07:00
CNAME add CNAME for charts.min.io URL 2021-06-18 10:34:28 -07:00
COMPLIANCE.md cleanup markdown docs across multiple files (#14296) 2022-02-11 16:51:25 -08:00
CONTRIBUTING.md chore: Adjust setup guide for development. (#20204) 2024-08-05 11:35:53 -07:00
CREDITS update dependencies for CVE fix x/net 2025-03-12 22:29:51 -07:00
Dockerfile fix: the permissions one more time on /usr/bin 2024-09-15 16:10:23 -07:00
Dockerfile.cicd simplify dockerfiles and remove duplication (#12419) 2021-06-03 08:16:06 -07:00
Dockerfile.hotfix move to go1.24 (#21114) 2025-04-09 07:28:39 -07:00
Dockerfile.release move to go1.24 (#21114) 2025-04-09 07:28:39 -07:00
Dockerfile.release.old_cpu move to go1.24 (#21114) 2025-04-09 07:28:39 -07:00
Dockerfile.scratch fix: add Dockerfile.release* /opt/bin writable 2021-09-09 22:27:33 -07:00
LICENSE update license change for MinIO 2021-04-23 11:58:53 -07:00
Makefile update with newer pkger release 2025-04-26 17:44:22 -07:00
NOTICE update NOTICE to 2015-2023 copyright 2023-02-19 00:03:50 +05:30
PULL_REQUESTS_ETIQUETTE.md add pull requests etiquette 2025-05-25 09:32:03 -07:00
README.md Update README with Docker and Helm installation instructions 2025-10-07 10:32:10 -04:00
SECURITY.md cleanup markdown docs across multiple files (#14296) 2022-02-11 16:51:25 -08:00
VULNERABILITY_REPORT.md cleanup markdown docs across multiple files (#14296) 2022-02-11 16:51:25 -08:00
_config.yml Set theme jekyll-theme-minimal 2021-06-18 10:41:54 -07:00
code_of_conduct.md cleanup unneeded files, update credits (#8858) 2020-01-20 10:38:58 -08:00
docker-buildx.sh start publishing latest-cicd images 2025-04-01 20:53:54 -07:00
go.mod Use new gofumpt (#21613) 2025-09-28 13:59:21 -07:00
go.sum Use new gofumpt (#21613) 2025-09-28 13:59:21 -07:00
helm-reindex.sh Add MinIO server helm chart (#12509) 2021-08-20 15:30:54 -07:00
index.yaml update helm release v5.4.0 2025-01-02 21:34:47 -08:00
main.go Use go mod tool to install tools for go generate (#21232) 2025-04-24 16:34:11 -07:00
update-credits.sh add community contribution credits and update PR template (#17840) 2023-08-10 22:08:38 -07:00

README.md

MinIO Quickstart Guide

Slack Docker Pulls license

MinIO

MinIO is a high-performance, S3-compatible object storage solution released under the GNU AGPL v3.0 license. Designed for speed and scalability, it powers AI/ML, analytics, and data-intensive workloads with industry-leading performance.

🔹 S3 API Compatible Seamless integration with existing S3 tools 🔹 Built for AI & Analytics Optimized for large-scale data pipelines 🔹 High Performance Ideal for demanding storage workloads.

This README provides instructions for building MinIO from source and deploying onto baremetal hardware. For more complete documentation, see the MinIO documentation website

MinIO is Open Source Software

We designed MinIO as Open Source software for the Open Source software community. We encourage the community to remix, redesign, and reshare MinIO under the terms of the AGPLv3 license.

All usage of MinIO in your application stack requires validation against AGPLv3 obligations, which include but are not limited to the release of modified code to the community from which you have benefited. Any commercial/proprietary usage of the AGPLv3 software, including repackaging or reselling services/features, is done at your own risk.

The AGPLv3 provides no obligation by any party to support, maintain, or warranty the original or any modified work. All support is provided on a best-effort basis through Github and our Slack channel, and any member of the community is welcome to contribute and assist others in their usage of the software.

MinIO AIStor includes enterprise-grade support and licensing for workloads which require commercial or proprietary usage and production-level SLA/SLO-backed support. For more information, reach out for a quote.

Legacy Releases

MinIO has no planned or scheduled releases for this repository. While a new release may be cut at any time, there is no timeline for when a subsequent release may occur. All existing releases remain accessible through Github or at https://dl.min.io/server/minio/release/ .

The following sections provide instructions for building against the master branch for deployments that require access to the latest changes:

Install from Source

Use the following commands to compile and run a standalone MinIO server from source. If you do not have a working Golang environment, please follow How to install Golang. Minimum version required is go1.24

go install github.com/minio/minio@latest

You can alternatively run go build and use the GOOS and GOARCH environment variables to control the OS and architecture target. For example:

env GOOS=linux GOARCh=arm64 go build

Start MinIO by running minio server PATH where PATH is any empty folder on your local filesystem.

The MinIO deployment starts using default root credentials minioadmin:minioadmin. You can test the deployment using the MinIO Console, an embedded web-based object browser built into MinIO Server. Point a web browser running on the host machine to http://127.0.0.1:9000 and log in with the root credentials. You can use the Browser to create buckets, upload objects, and browse the contents of the MinIO server.

You can also connect using any S3-compatible tool, such as the MinIO Client mc commandline tool:

mc alias set local http://localhost:9000 minioadmin minioadmin
mc admin info local

See Test using MinIO Client mc for more information on using the mc commandline tool. For application developers, see https://docs.min.io/community/minio-object-store/developers/minio-drivers.html to view MinIO SDKs for supported languages.

[!NOTE] Production environments using compiled-from-source MinIO binaries do so at their own risk. The AGPLv3 license provides no warranties nor liabilites for any such usage.

Build Docker Image

You can use the docker build . command to build a Docker image on your local host machine. You must first build MinIO and ensure the minio binary exists in the project root.

The following command builds the Docker image using the default Dockerfile in the root project directory with the repository and image tag myminio:minio

docker build -t myminio:minio .

Use docker image ls to confirm the image exists in your local repository. You can run the server using standard Docker invocation:

docker run -p 9000:9000 -p 9001:9001 myminio:minio server /tmp/minio --console-address :9001

Complete documentation for building Docker containers, managing custom images, or loading images into orchestration platforms is out of scope for this documentation. You can modify the Dockerfile and dockerscripts/socker-entrypoint.sh as-needed to reflect your specific image requirements.

See the MinIO Container documentation for more guidance on running MinIO within a Container image.

Install using Helm Charts

There are two paths for installing MinIO onto Kubernetes infrastructure:

See the MinIO Documentation for guidance on deploying using the Operator. The Community Helm chart has instructions in the folder-level README.

Test MinIO Connectivity

Test using MinIO Console

MinIO Server comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 to ensure your server has started successfully.

[!NOTE] MinIO runs console on random port by default, if you wish to choose a specific port use --console-address to pick a specific interface and port.

Test using MinIO Client mc

mc provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services.

The following commands set a local alias, validate the server information, create a bucket, copy data to that bucket, and list the contents of the bucket.

mc alias set local http://localhost:9000 minioadmin minioadmin
mc admin info
mc mb data
mc cp ~/Downloads/mydata data/
mc ls data/

Follow the MinIO Client Quickstart Guide for further instructions.

Explore Further

Contribute to MinIO Project

Please follow MinIO Contributor's Guide for guidance on making new contributions to the repository.

License