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
- Crea bucket separati per diversi tipi di contenuto
- Usa policy di accesso appropriate per ogni bucket
- Implementa lifecycle rules per pulizia automatica
- Configura backup dei dati MinIO
- Usa presigned URLs per accesso temporaneo sicuro
- Monitora lo spazio disco disponibile