Skip to main content

Object Storage MinIO

MinIO adalah object storage server yang bersifat open-source dan kompatibel dengan Amazon S3 API.
MinIO dirancang untuk menyimpan data dalam jumlah besar seperti file backup, gambar, log, dan file biner secara terdistribusi, aman, dan cepat.

Karakteristik Utama​

  • S3 Compatible — bisa digunakan dengan tools berbasis Amazon S3.
  • Scalable — dapat di-cluster untuk penyimpanan berskala besar.
  • Secure — mendukung HTTPS, Access Key, Secret Key, dan policy berbasis pengguna.
  • High Performance — mampu mencapai throughput hingga ratusan GB/s.
  • Lightweight — dapat berjalan di container, VM, atau bare-metal.

Contoh Penggunaan​

  • Penyimpanan file hasil backup database.
  • Menyimpan artifact CI/CD (misalnya hasil build).
  • Penyimpanan log aplikasi atau hasil analisis data.
  • Sebagai backend storage untuk aplikasi seperti Grafana Loki, Velero, Airflow, dsb.

Instalasi MinIO​

A. Instalasi di Server Langsung (Linux)​

wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio

Buat direktori penyimpanan data:

mkdir -p /data/minio

Jalankan MinIO:

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
minio server /data/minio --console-address ":9001"

MinIO sekarang dapat diakses melalui:

Web UI: http://localhost:9001
API Endpoint: http://localhost:9000

B. Instalasi Menggunakan Docker​

docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v /data/minio:/data \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=admin123 \
quay.io/minio/minio server /data --console-address ":9001"

Lalu buka browser:

Web UI: http://localhost:9001
API Endpoint: http://localhost:9000

Masukkan kredensial:

Username: admin
Password: admin123

Struktur & Konsep Penyimpanan MinIO​

  • Bucket — Wadah utama untuk menyimpan objek (setara dengan folder di S3).
  • object — File atau data yang disimpan di dalam bucket.
  • Policy — Aturan akses (read/write/public).
  • Access Key & Secret Key — Kredensial autentikasi pengguna.
  • Console UI — Antarmuka grafis untuk mengelola bucket dan file.

Konfigurasi Keamanan Dasar​

  • Gunakan password kuat untuk MINIO_ROOT_PASSWORD.

  • Aktifkan HTTPS/TLS dengan sertifikat SSL:

    minio server /data --certs-dir /etc/minio/certs
  • Batasi akses hanya ke port 9000 dan 9001 jika diakses publik.

  • Gunakan Access Policy untuk mengatur izin user.

    Contoh membuat user dan policy read-only:

    mc admin user add local readonlyuser password123
    mc admin policy set local readwrite user=readonlyuser

Command CLI (MinIO Client - mc)​

Install client MinIO:

wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc

Contoh Penggunaan:

mc alias set local http://localhost:9000 admin admin123
mc mb local/test-bucket
mc cp file.txt local/test-bucket/
mc ls local/test-bucket

Menjalankan MinIO Sebagai Service​

Buat file systemd /etc/systemd/system/minio.service:

[Unit]
Description=MinIO Object Storage
After=network.target

[Service]
User=root
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=admin123"
Restart=always

[Install]
WantedBy=multi-user.target

Aktifkan service:

sudo systemctl enable minio
sudo systemctl start minio
sudo systemctl status minio

Monitoring & Log​

  • Log service: /var/log/minio.log atau journalctl -u minio -f
  • Cek status disk:
mc admin info local
mc admin heal local

Kesimpulan​

MinIO adalah solusi penyimpanan object storage modern yang ringan, cepat, dan aman. Dengan kompatibilitas S3 dan kemudahan instalasi, MinIO cocok untuk berbagai kebutuhan seperti backup, penyimpanan log, maupun integrasi DevOps.