MinIO

MinIO è un object storage ad alte prestazioni compatibile con Amazon S3. Permette di memorizzare file, media, backup e qualsiasi tipo di oggetto in modo scalabile e distribuito.

Cos'è MinIO

MinIO è un object storage che:

  • È compatibile al 100% con Amazon S3 API
  • Offre alte prestazioni per lettura e scrittura di oggetti
  • Permette di memorizzare file di qualsiasi dimensione
  • Supporta versioning e lifecycle policies
  • Fornisce una console web per la gestione

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita MinIO
Version Versione di MinIO da utilizzare

Configurazione Accesso

Campo Descrizione
User Root Name Nome utente root per l'accesso
User Root Password Password utente root
Domain Dominio per accesso alla console web

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container in MB

File di Configurazione

File Descrizione
Dockerfile File Docker per la build dell'immagine MinIO

Concetti Chiave

Bucket

Un bucket è un contenitore per gli oggetti, simile a una cartella di primo livello:

  • Ogni bucket ha un nome univoco
  • Puoi creare più bucket per organizzare i dati
  • I bucket possono avere policy di accesso diverse

Object

Un oggetto è un file memorizzato in un bucket:

  • Identificato da una chiave (path)
  • Può avere metadati associati
  • Supporta oggetti fino a 5TB

Casi d'Uso Comuni

1. Storage per Media

Memorizza immagini, video e file caricati dagli utenti.

2. Backup

Archivia backup di database e applicazioni.

3. Asset Statici

Serve file statici per le applicazioni.

4. Data Lake

Memorizza grandi quantità di dati per analytics.

Connessione dall'Applicazione

Dalla rete Docker interna:

  • Endpoint: http://minio:9000
  • Console: http://minio:9001

Porte

Porta Descrizione
9000 API S3-compatible
9001 Console web

Best Practices

  1. Crea bucket separati per diversi tipi di contenuto
  2. Usa policy di accesso appropriate per ogni bucket
  3. Implementa lifecycle rules per pulizia automatica
  4. Configura backup dei dati MinIO
  5. Usa presigned URLs per accesso temporaneo sicuro
  6. Monitora lo spazio disco disponibile

Prossimi Passi

  • PHP - Integra MinIO con Laravel (Filesystem S3)
  • Node.js - Integra MinIO con AWS SDK