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 |
---|---|
![]() |
![]() |
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