MinIO Quickstart Guide

Slack Docker Pulls license

MinIO

MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.

This README provides quickstart instructions on running MinIO on bare metal hardware, including container-based installations. For Kubernetes environments, use the MinIO Kubernetes Operator.

Container Installation

Use the following commands to run a standalone MinIO server as a container.

Standalone MinIO servers are best suited for early development and evaluation. Certain features such as versioning, object locking, and bucket replication require distributed deploying MinIO with Erasure Coding. For extended development and production, deploy MinIO with Erasure Coding enabled - specifically, with a minimum of 4 drives per MinIO server. See MinIO Erasure Code Overview for more complete documentation.

Stable

Run the following command to run the latest stable image of MinIO as a container using an ephemeral data volume:

podman run -p 9000:9000 -p 9001:9001 \
  quay.io/minio/minio server /data --console-address ":9001"
minioadmin:minioadmin
mcmcmc
podman -v-v /mnt/data:/data/mnt/data/data

macOS

Use the following commands to run a standalone MinIO server on macOS.

Standalone MinIO servers are best suited for early development and evaluation. Certain features such as versioning, object locking, and bucket replication require distributed deploying MinIO with Erasure Coding. For extended development and production, deploy MinIO with Erasure Coding enabled - specifically, with a minimum of 4 drives per MinIO server. See MinIO Erasure Code Overview for more complete documentation.

Homebrew (recommended)

/data
brew install minio/stable/minio
minio server /data
brew install miniominio/stable/minio
brew uninstall minio
brew install minio/stable/minio
minioadmin:minioadmin
mcmcmc

Binary Download

/data
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x minio
./minio server /data
minioadmin:minioadmin
mcmcmc

GNU/Linux

/data
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
/data
wget
Architecture URL
64-bit Intel/AMD
64-bit ARM
64-bit PowerPC LE (ppc64le)
IBM Z-Series (S390X)
minioadmin:minioadmin
mcmcmc

NOTE: Standalone MinIO servers are best suited for early development and evaluation. Certain features such as versioning, object locking, and bucket replication require distributed deploying MinIO with Erasure Coding. For extended development and production, deploy MinIO with Erasure Coding enabled - specifically, with a minimum of 4 drives per MinIO server. See MinIO Erasure Code Overview for more complete documentation.

Microsoft Windows

To run MinIO on 64-bit Windows hosts, download the MinIO executable from the following URL:

https://dl.min.io/server/minio/release/windows-amd64/minio.exe
D:\minio.exe$PATH
minio.exe server D:\
minioadmin:minioadmin
mcmcmc

NOTE: Standalone MinIO servers are best suited for early development and evaluation. Certain features such as versioning, object locking, and bucket replication require distributed deploying MinIO with Erasure Coding. For extended development and production, deploy MinIO with Erasure Coding enabled - specifically, with a minimum of 4 drives per MinIO server. See MinIO Erasure Code Overview for more complete documentation.

Install from Source

Use the following commands to compile and run a standalone MinIO server from source. Source installation is only intended for developers and advanced users. If you do not have a working Golang environment, please follow How to install Golang. Minimum version required is go1.19

go install github.com/minio/minio@latest
minioadmin:minioadmin
mcmcmc

NOTE: Standalone MinIO servers are best suited for early development and evaluation. Certain features such as versioning, object locking, and bucket replication require distributed deploying MinIO with Erasure Coding. For extended development and production, deploy MinIO with Erasure Coding enabled - specifically, with a minimum of 4 drives per MinIO server. See MinIO Erasure Code Overview for more complete documentation.

MinIO strongly recommends against using compiled-from-source MinIO servers for production environments.

Deployment Recommendations

Allow port access for Firewalls

By default MinIO uses the port 9000 to listen for incoming connections. If your platform blocks the port by default, you may need to enable access to the port.

ufw

ufw
ufw allow 9000

Below command enables all incoming traffic to ports ranging from 9000 to 9010.

ufw allow 9000:9010/tcp

firewall-cmd

firewall-cmd
firewall-cmd --get-active-zones
public
firewall-cmd --zone=public --add-port=9000/tcp --permanent
permanent
firewall-cmd --reload

iptables

iptables
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
service iptables restart

Below command enables all incoming traffic to ports ranging from 9000 to 9010.

iptables -A INPUT -p tcp --dport 9000:9010 -j ACCEPT
service iptables restart

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.

--console-address

Things to consider

127.0.0.1:9000
MINIO_BROWSER_REDIRECT_URL
https://minio.example.nethttps://console.minio.example.netMINIO_BROWSER_REDIRECT_URLhttps://console.minio.example.net
MINIO_SERVER_URL
export MINIO_SERVER_URL="https://minio.example.net"
Dashboard Creating a bucket
Dashboard Dashboard
mc
mc

Upgrading MinIO

Upgrades require zero downtime in MinIO, all upgrades are non-disruptive, all transactions on MinIO are atomic. So upgrading all the servers simultaneously is the recommended way to upgrade MinIO.

mc admin update <minio alias, e.g., myminio>
/opt/bin/miniochmod +x /opt/bin/miniomc admin service restart alias//opt/bin/miniochmod +x /opt/bin/miniomc admin service restart alias/

Upgrade Checklist

mc admin updatemc admin update

Explore Further

Contribute to MinIO Project

Please follow MinIO Contributor's Guide

License