π Panduan Lengkap Deploy MinIO di VPS dengan Docker (dengan Spesifikasi Server)


MinIO adalah sistem penyimpanan objek (object storage) berperforma tinggi yang kompatibel dengan API AWS S3.
Dengan MinIO, Anda bisa menyimpan file dalam jumlah besar dengan efisien dan aman, baik untuk aplikasi internal, backup, maupun publik.
2. Spesifikasi Server yang Diperlukan
Minimum untuk Testing atau Development
CPU: 1 vCPU
RAM: 1 GB
Storage: 20 GB (HDD/SSD)
Koneksi Internet: 10 Mbps (upload/download)
OS: Ubuntu 20.04+, Debian 11+, atau CentOS 8+
Cocok untuk uji coba, projek kecil, atau pengembangan lokal.
Rekomendasi untuk Production Skala Kecil
CPU: 2 vCPU (atau lebih)
RAM: 4 GB
Storage: Minimal 50 GB SSD/NVMe (lebih cepat aksesnya)
Koneksi Internet: 50 Mbps simetris (upload & download)
Backup: Sistem backup otomatis ke lokasi lain
OS: Ubuntu LTS (disarankan)
Cocok untuk aplikasi web dengan file hingga 500GB, atau pengguna aktif ratusan orang.
Rekomendasi untuk Production Skala Menengah
CPU: 4+ vCPU
RAM: 8 GB atau lebih
Storage: 200 GB SSD/NVMe (support disk expansion)
Koneksi Internet: 100 Mbps simetris atau lebih
Keamanan:
Firewall aktif
SSL/TLS untuk API dan Console
Redundansi:
Bisa cluster MinIO
Backup harian otomatis
Cocok untuk SaaS atau layanan publik yang banyak menangani upload/download.
Catatan Penting
RAM mempengaruhi kecepatan caching metadata dan performa upload/download.
SSD/NVMe jauh lebih cepat daripada HDD, sangat terasa saat mengelola banyak file kecil.
Jika file sangat besar (video, backup database), kecepatan internet dan IO disk menjadi faktor kritis.
Untuk cluster MinIO, minimal 4 node dan storage disk terpisah.
3. Instalasi Docker & Docker Compose
sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker
4. Struktur Direktori
mkdir -p ~/minio/data
mkdir -p ~/minio/config
cd ~/minio
5. File docker-compose.yml
version: '3.8'
services:
minio:
image: minio/minio:latest
container_name: minio
ports:
- "9000:9000" # API S3
- "9001:9001" # Console Web
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: supersecretpassword
volumes:
- ./data:/data
- ./config:/root/.minio
command: server /data --console-address ":9001"
restart: unless-stopped
6. Menjalankan MinIO
docker-compose up -d
Akses:
Console:
http://<IP-VPS>:9001
API S3:
http://<IP-VPS>:9000
7. Domain & SSL
Arahkan DNS ke IP VPS:
s3.domainanda.com β <IP VPS> minio.domainanda.com β <IP VPS>
Gunakan Nginx Proxy Manager untuk SSL Letβs Encrypt.
8. Testing Upload
Login ke console.
Buat bucket.
Upload file.
Coba akses via API S3.
9. Best Practice
Gunakan password kuat dan simpan di password manager.
Backup data secara rutin (
data/
).Gunakan firewall untuk membatasi akses.
Gunakan SSD/NVMe untuk performa optimal.
Subscribe to my newsletter
Read articles from Ariska Hidayat directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Ariska Hidayat
Ariska Hidayat
I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.