$type=ticker$cols=4

$type=slider$meta=0$snip=0$rm=0

Membangun Object Storage Pribadi S3-Compatible Menggunakan MinIO di Docker Compose

Dalam era arsitektur aplikasi berbasis cloud, penyimpanan file tradisional (seperti POSIX filesystem atau share network NFS/SMB) sering k...

Membangun Server Object Storage S3 Pribadi Menggunakan MinIO di Docker Compose

Dalam era arsitektur aplikasi berbasis cloud, penyimpanan file tradisional (seperti POSIX filesystem atau share network NFS/SMB) sering kali menemui hambatan skalabilitas saat menangani jutaan file media, dokumen statis, dan arsip snapshot backup database. Standar de-facto industri untuk penyimpanan data tak terstruktur (unstructured data) hari ini adalah Object Storage dengan protokol Amazon Web Services (AWS) Simple Storage Service (S3) API.

Namun, mengandalkan layanan cloud publik seperti AWS S3 atau Google Cloud Storage untuk seluruh kebutuhan data sering kali memicu pembengkakan biaya yang signifikan—terutama akibat biaya egress bandwidth (data transfer keluar) dan biaya per transaksi request (PUT/GET). MinIO hadir sebagai solusi open-source berkinerja ultra-tinggi yang memungkinkan Anda membangun server Object Storage mandiri 100% kompatibel dengan S3 API pada server Linux lokal, homelab, maupun private datacenter Anda.

1. Keunggulan Arsitektur MinIO: S3 API Engine & Modern Web Console

MinIO ditulis menggunakan bahasa Go (Golang) dan dirancang untuk efisiensi ekstrim:

  • Kompatibilitas Penuh AWS S3 v4: Mendukung seluruh SDK populer (AWS CLI, Boto3 Python, AWS SDK Go/NodeJS), serta terintegrasi langsung dengan software backup modern (Veeam, Proxmox Backup Server, Restic, Rclone, Velero).
  • Dual Endpoint Service: MinIO menyediakan dua port utama: Port 9000 untuk transfer data API S3 berkecepatan tinggi, dan Port 9001 untuk antarmuka visual (MinIO Web Console) yang intuitif.
  • Fitur Enterprise Terbawa: Mendukung Bucket Versioning, Object Immutability / Locking (WORM - Write Once Read Many untuk mencegah serangan ransomware), serta enkripsi data at-rest (KMS).

2. Penyiapan Struktur Direktori dan File docker-compose.yml

Cara paling rapi dan mudah dirawat untuk men-deploy MinIO di server Linux adalah memanfaatkan Docker Compose. Siapkan direktori kerja dan buat persistent storage volume:

# Buat struktur direktori proyek MinIO
mkdir -p /home/ubuntu/minio-storage/{data,config}
cd /home/ubuntu/minio-storage

# Buat file docker-compose.yml
nano docker-compose.yml

Tulis konfigurasi docker-compose.yml dengan standar produksi berikut:

version: '3.8'

services:
  minio:
    image: quay.io/minio/minio:latest
    container_name: minio-server
    restart: always
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"   # S3 API Port
      - "9001:9001"   # Web Console Port
    environment:
      MINIO_ROOT_USER: "admin_zhatotech"
      MINIO_ROOT_PASSWORD: "GantiDenganPasswordSuperKuat2026!"
      MINIO_SERVER_URL: "http://storage.internal.lan:9000"
      MINIO_BROWSER_REDIRECT_URL: "http://storage.internal.lan:9001"
    volumes:
      - ./data:/data
      - ./config:/root/.minio
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

Jalankan kontainer MinIO di latar belakang (detached mode):

docker compose up -d
docker compose ps

3. Konfigurasi Awal via MinIO Web Console

Buka peramban web dan akses http://IP_SERVER:9001. Masukkan username dan password root yang telah ditentukan di file environment.

  1. Membuat Bucket Baru: Masuk ke menu Buckets > Create Bucket. Beri nama bucket, misalnya backup-cluster atau media-public.
  2. Versioning: Aktifkan Versioning jika bucket digunakan untuk dokumen kerja, sehingga Anda dapat me-restore versi file sebelumnya jika terjadi kerusakan atau penimpaan file yang tidak disengaja.
  3. Object Locking: Berguna untuk kepatuhan hukum dan proteksi ransomware. File yang disimpan tidak dapat dihapus atau dimodifikasi oleh siapa pun (termasuk user root) hingga batas masa retensi tercapai.

4. Membuat Access Key & Secret Key Khusus (Prinsip Least Privilege)

Jangan pernah menggunakan akun Root untuk menghubungkan aplikasi atau script backup ke MinIO. Buat akun layanan (Service Account / Access Key) dengan hak akses terbatas:

  1. Navigasi ke menu Access Keys > Create access key.
  2. Sistem akan mengenerate pasangan Access Key dan Secret Key.
  3. Tentukan scope hak akses melalui policy JSON (misal hanya diizinkan operasi s3:PutObject dan s3:GetObject pada bucket backup-cluster saja).
  4. Simpan Secret Key dengan aman karena tidak dapat dilihat kembali setelah jendela ditutup.

5. Mengelola Object Storage Menggunakan MinIO Client (mc CLI)

MinIO menyediakan utilitas CLI resmi bernama mc (MinIO Client) yang sangat tangguh untuk otomasi script bash dan transfer file berukuran besar:

# Unduh dan pasang mc CLI di Linux
curl https://dl.min.io/client/mc/release/linux-amd64/mc   --create-dirs -o /usr/local/bin/mc
chmod +x /usr/local/bin/mc

# Daftarkan alias server MinIO lokal
mc alias set myminio http://127.0.0.1:9000 admin_zhatotech GantiDenganPasswordSuperKuat2026!

# Menampilkan daftar bucket
mc ls myminio

# Mengunggah file ke bucket backup-cluster
mc cp /var/backups/database-dump.sql.gz myminio/backup-cluster/daily/

# Sinkronisasi folder secara otomatis (mirroring)
mc mirror /var/www/uploads myminio/media-public/uploads
Keamanan Produksi - Wajib Enkripsi TLS / SSL: Jika server MinIO Anda dapat diakses di luar jaringan LAN privat, wajib pasang Reverse Proxy (seperti Nginx, Traefik, atau Cloudflare Tunnel) dengan sertifikat SSL valid di depan port 9000 dan 9001. Mentransfer file atau kredensial S3 melalui HTTP plaintext membuka risiko penyadapan data sensitif di jalur transmisi internet.

Kesimpulan

Menjalankan MinIO via Docker Compose memberikan fleksibilitas tak tertandingi dalam mengelola storage modern berstandar cloud tanpa biaya lisensi maupun biaya transfer yang mahal. Dengan kompatibilitas S3 yang sempurna, infrastruktur lokal Anda kini siap mendukung integrasi aplikasi modern, pipeline CI/CD, hingga sistem backup disaster recovery yang kokoh.

COMMENTS

Name

1clickInstall,1,404,1,android,1,Apache2,1,API Telegram,1,Apple,3,AWS,1,Backup,1,bapak internet indonesia,1,blkid,1,booting,1,brainware,1,calc,1,can't mount,3,can't read superblock,1,cara mengatasi disk failure,1,cara mengatasi disk penuh,1,cara mengatasi error disk,1,cara mengatasi error proxmox,1,cara mengatasi log full,1,centOS,1,certificate,1,Chrome,1,cinta sang penguasa,1,CLI,1,Cloud,1,Cloud Computing,10,Cloud Storage,6,Clustering,1,Codec,1,CodeIgniter,2,computare,4,computer,4,Cybersecurity,6,dakwah,16,Data Mining,1,dd,1,Debian,2,Deepin Linux,1,DevOps,2,digital,1,Docker,9,dosa,1,dosa besar,1,Enkripsi,1,era digital,1,error certificate,1,error path,1,error subscription,1,excel,1,failed subscription,1,Fedora,1,fedora26,1,Feeder,1,fstab,1,ftp server,1,fujitsu,1,gambar,1,ghibah,1,Git,2,GitHub,2,gitignore,1,gitignore not work,1,Google,2,Google Chrome,1,Google Cloud,1,Google Drive,2,google-drive-ocamlfuse,1,Harddisk,1,Hardware,1,Hashing,1,HDD,2,history,1,host,1,Hostname,1,how to,2,IAM,1,igmp proxy,1,Ilmu Komputer,1,impress,1,indihome,1,INDUKSI MATEMATIKA,1,instalasi,3,install,10,install GIT,1,install linux,6,internet,2,islam,17,javascript,1,K-Means,1,KDE Plasma,1,keamanan,1,Keamanan Cloud,2,keamanan data,1,Keamanan Jaringan,1,keynote,1,kodi,1,komputer,5,kuliah,1,Latte-dock,1,leap,7,leap 42.3,1,LibreOffice,1,Linux,54,linux ringan,3,Machine Learning,1,machintos,4,macOS,5,mageia,1,mandriva,1,mate,1,microsoft office,2,microsoft windows,4,microsoft word,1,Mikrotik,3,mint,1,Monitoring,1,mount,4,mounting,1,Multimedia Codec,1,Netwatch,1,network,1,network security,1,Networking,7,Nextcloud,1,node js,1,NTFS,3,ntfsfix,2,numbers,1,office,5,Online Account,1,onno,1,onnowpurbo,1,Open Source,3,OpenMandriva,1,OpenOffice,2,openoffice calc,1,openoffice writer,1,openSUSE,11,operating system,1,ownCloud,1,ownCloud Client,1,PAGES,1,PDDikti,1,pemikir islam,1,pengguna,1,perangkat keras,1,Perangkat Lunak,2,PHP,1,PHP 5,1,PKI,1,port 80,1,port 8082,1,postel sevice award,1,Powerpoint,1,presentasi,1,presentation,1,Privacy,1,Proxmox,13,PVE,1,q4os,1,remaja islam,2,review,7,rezeki,1,s1300i,1,scanner,1,scansnap,1,Security,5,sejarah,1,Server,16,setting,1,Sistem Operasi,2,Software,2,spreadsheet,1,SSH,1,SSO,1,stb,1,Storage,5,sukses dunia akhirat,1,Sysadmin,10,Telegram,1,telkom,1,tesseract,1,text,1,Tutorial,27,tv box,1,Ubuntu,3,Unsupervised Learning,1,usb drive,1,useetv,1,user,1,VBA,1,version control,1,virtual machine,2,Virtualization,4,Visual basic,1,Visual Basic for Applications,1,VLC,2,VLC Media Player,1,vsftpd,1,whatsapp api,1,winbox,1,Windows,7,Windows 7,1,word,1,WORD PROCESSOR,2,workstation,1,WPS Office,1,zypper,1,
ltr
item
zhato TECH: Membangun Object Storage Pribadi S3-Compatible Menggunakan MinIO di Docker Compose
Membangun Object Storage Pribadi S3-Compatible Menggunakan MinIO di Docker Compose
zhato TECH
http://www.zhato-tech.id/2026/11/membangun-object-storage-pribadi-s3.html
http://www.zhato-tech.id/
http://www.zhato-tech.id/
http://www.zhato-tech.id/2026/11/membangun-object-storage-pribadi-s3.html
true
740282316614930842
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content