MinIO Installation Guide
MinIO is a high-performance, S3-compatible object storage system. Follow the steps below to install and run it on Windows or Linux.
📥 Step 1 — Download MinIO
-
Open PowerShell and create a folder for MinIO:
-
Download the latest MinIO server binary:
-
Download and install the MinIO package:
▶️ Step 2 — Run MinIO Server
First, create a folder for storing MinIO data. Example: C:\MinIO\data (Windows) or /data/minio (Linux).
- 9000 → S3 API endpoint
- 9001 → MinIO Web Console
Access console in browser: 👉 http://localhost:9001
⚙️ Step 3 — Run MinIO as a Service
This ensures MinIO starts automatically with Windows.
-
Download the Windows Service helper:
MinIO Service Helper for Windows
install-service.ps1
install-service.ps1#Check script run as administrator if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } Set-Location -Path $PSScriptRoot [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-WebRequest -Uri "https://github.com/winsw/winsw/releases/download/v2.8.0/WinSW.NET4.exe" -OutFile "minio-service.exe" $config = @' <service> <id>MinIO</id> <name>MinIO</name> <description>MinIO is a high performance object storage server</description> <executable>minio.exe</executable> <env name="MINIO_ROOT_USER" value="minio"/> <env name="MINIO_ROOT_PASSWORD" value="minio123"/> <arguments>server C:\minio</arguments> <logmode>rotate</logmode> </service> '@ Set-Content "minio-service.xml" $config Start-Process -WorkingDirectory $PSScriptRoot -FilePath "$($PSScriptRoot)\minio-service.exe" -ArgumentList "install" -NoNewWindow -PassThru -Wait Write-Host "Installation done" -
Edit
install-service.ps1(insideC:\MinIO) and set:- Path to
minio.exe - Path to storage (
C:\MinIO\data) - Credentials (optional)
Example section inside script:
- Path to
-
Run the installer script (in PowerShell as Administrator):
-
Start the service:
-
Verify service status:
-
Create service file:
Paste:
[Unit] Description=MinIO Object Storage After=network.target [Service] User=root Group=root ExecStart=/usr/local/bin/minio server /data/minio --address :9000 --console-address :9001 Environment="MINIO_ROOT_USER=minioadmin" Environment="MINIO_ROOT_PASSWORD=minioadmin123" Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target -
Reload services & enable MinIO:
-
Check status: