MinIO adalah solusi object storage yang kompatibel dengan API Amazon S3 dan mendukung seluruh fitur inti S3. Dirancang untuk fleksibilitas dan kinerja tinggi, MinIO dapat dijalankan di berbagai lingkungan — mulai dari public cloud, private cloud, bare-metal infrastructure, hingga edge computing.
Instalasi MinIO
Menggunakan Docker
Untuk menginstal MinIO menggunakan Docker, jalankan perintah berikut:
docker run -dit \
-p 9000:9000 \
-p 9090:9090 \
--name minio \
-v storage:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
quay.io/minio/minio server /data --console-address ":9090"
Menggunakan Docker Compose
Atau, Anda juga bisa menggunakan docker-compose
dengan konfigurasi berikut:
services:
minio:
image: minio/minio
ports:
- "9000:9000" # Port untuk API
- "9090:9090" # Port untuk Web Console
volumes:
- minio_storage:/data
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: admin123
MINIO_SERVER_URL: https://storage.example.com
MINIO_BROWSER_REDIRECT_URL: https://console-storage.example.com
MINIO_DOMAIN: storage.example.com
command: server --console-address ":9090" /data
restart: unless-stopped
volumes:
minio_storage:
Jalankan stack minio.
docker compose up -d
Akses MinIO Console
Setelah kontainer berjalan, Anda dapat mengakses MinIO Console melalui:
http://<IP-address>:9090
Contoh tampilan:

Instalasi MinIO Client (mc)
MinIO Client (mc
) memungkinkan Anda untuk mengelola bucket dan object storage melalui command line.
Unduh dan Instal MinIO Client
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
Konfigurasi mc
agar Terhubung ke MinIO Server
Gunakan perintah berikut untuk menambahkan alias koneksi ke MinIO server lokal:
mc alias set local http://127.0.0.1:9000 {MINIO_ROOT_USER} {MINIO_ROOT_PASSWORD}
Tes Koneksi ke Server
Untuk memastikan mc
berhasil terhubung, jalankan perintah berikut:
mc admin info local
Contoh output:
● 127.0.0.1:9000
Uptime: 25 minutes
Version: 2023-06-29T05:12:28Z
Network: 1/1 OK
Drives: 1/1 OK
Pool: 1
Pools:
1st, Erasure sets: 1, Drives per erasure set: 1
1 drive online, 0 drives offline
Basic Usage MinIO Client
Membuat Bucket
Untuk membuat satu bucket:
mc mb local/wordpress
Membuat Beberapa Bucket Sekaligus
mc mb local/user-1 local/user-2 local/user-3
Menampilkan Daftar Bucket
mc ls local
Contoh output:
[2023-06-30 14:36:42 WIB] 0B user-1/
[2023-06-30 14:36:42 WIB] 0B user-2/
[2023-06-30 14:36:42 WIB] 0B user-3/
[2023-06-30 14:32:41 WIB] 0B wordpress/
Mengunggah File atau Folder ke Bucket
Untuk mengunggah seluruh isi direktori root (gunakan hati-hati!):
mc cp -r /* local/wordpress
Memindahkan Objek dari Satu Bucket ke Bucket Lain
untuk memindahkan semua objek dari bucket wordpress
ke user-1
.
mc mv -r local/wordpress/ local/user-1
Menyinkronkan Objek ke Bucket
Menyinkronkan seluruh isi direktori lokal ke bucket wordpress
. Perubahan pada lokal akan dicerminkan di bucket.
mc mirror ./ local/wordpress
Mencari Objek Berdasarkan Nama
Mencari file index.php
di seluruh bucket yang terdaftar pada alias local
.
mc find local --name "index.php"
Mengirim Data dari STDIN ke Objek di Bucket
Mengirim isi file ISO ke objek gnuos.iso
di bucket user-2
. Berguna untuk upload streaming atau integrasi pipeline.
cat debian-8.2.iso | mc pipe local/user-2/gnuos.iso
Menampilkan Isi Objek
Menampilkan isi file index.php
langsung di terminal.
mc cat local/wordpress/index.php
Melihat Metadata Objek
Menampilkan metadata dari objek atau bucket wordpress
.
mc stat local/wordpress
Mengecek Penggunaan Disk pada Bucket
Menunjukkan total penggunaan ruang pada bucket wordpress
.
mc du local/wordpress
Membuat URL untuk Mengunduh Objek
Menghasilkan URL temporer untuk mengunduh objek atau isi bucket.
mc share download local/wordpress
Menetapkan Kuota pada Bucket
Membatasi penggunaan ruang pada bucket user-3
sebesar 52 MB.
mc quota set local/user-3 --size 52M
Mengatur Akses Bucket (Publik/Privat)
Menjadikan bucket wordpress
dapat diakses secara publik. Gunakan private
untuk membatasi akses.
mc anonymous set public local/wordpress
Mengatur Replikasi Bucket
Menyinkronkan bucket wp1
ke remote bucket backup
.
mc replicate add local/wp1 --remote-bucket http://admin:[email protected]:9000/backup