Contexte et critères de sélection
Fin 2025, l’entreprise à l’origine de MinIO a cessé son développement pour se concentrer sur des offres commerciales. Cette décision a contraint les équipes qui utilisent MinIO comme émulateur S3 local dans des démonstrations ou des pipelines de validation à rechercher des remplacements. L’auteur fixe quatre exigences : image Docker disponible, compatibilité S3, licence Open Source (Apache 2.0) et déploiement mono‑noeud simple. La communauté et la documentation sont également prises en compte.
Analyse des alternatives S3Proxy, RustFS et SeaweedFS
S3Proxy propose une image Docker largement utilisée (plus de 5 M de pulls). La licence Apache 2.0 garantit la réutilisation. La compatibilité S3 repose sur la bibliothèque jclouds, qui a été déplacée vers l’Apache Attic en mi‑2025 ; cela n’impacte pas les scénarios purement locaux, mais indique un risque de maintenance à long terme. La configuration se résume à deux variables d’environnement, ce qui simplifie l’intégration dans un docker‑compose.yml.
RustFS se présente en version 1.0.0‑alpha.79 avec plus de 100 k de pulls. La licence est également Apache 2.0 et le projet offre une interface S3 native. Deux points majeurs apparaissent : une vulnérabilité de sécurité récemment découverte (CVE‑2026‑XXXX) et le statut « alpha », qui implique une API potentiellement instable. Le projet inclut une interface graphique, mais cela n’ajoute pas de complexité pour les tests automatisés.
SeaweedFS (version 4.06) fournit une image Docker avec plus de 5 M de pulls et une licence Apache 2.0. Le serveur expose un point d’accès S3 via un fichier de configuration dédié, ce qui nécessite une petite adaptation du docker‑compose.yml. La mise en place est décrite comme « très simple », et les performances observées dans les tests restent comparables à MinIO pour des charges de lecture/écriture de quelques kilooctets.
Évaluation de Zenko, Garage, Apache Ozone et Ceph Object Gateway
Zenko CloudServer implémente l’API S3 en se basant sur le projet open‑source de Scality. L’image Docker est disponible, mais le nombre de pulls est inférieur à 200 k, ce qui suggère une adoption plus restreinte. La configuration nécessite la définition d’un bucket de stockage sous‑jacent (ex. : disque local), augmentant légèrement la complexité.
Garage utilise le moteur de stockage de Scality et expose une API S3 compatible. La documentation est concise, mais le projet ne fournit pas de version officielle Docker ; il faut construire l’image à partir du code source, ce qui contrevient à la contrainte « image prête à l’emploi ».
Apache Ozone et Ceph Object Gateway offrent des implémentations S3 à l’échelle du cluster. Leur poids (plusieurs gigaoctets d’image) et la nécessité de configurer plusieurs services les rendent inadaptés aux scénarios mono‑noeud ciblés par l’auteur.
Limites et recommandations
Les trois solutions les plus proches du cahier des charges sont S3Proxy, SeaweedFS et RustFS. S3Proxy bénéficie d’une large diffusion mais dépend d’une bibliothèque en fin de vie. SeaweedFS combine stabilité et légèreté, avec une configuration minimale. RustFS, malgré sa vulnérabilité, peut être envisagé si la GUI est requise, à condition de mettre à jour rapidement le correctif. Les alternatives plus lourdes (Ozone, Ceph) restent réservées aux environnements distribués. En l’absence de mise à jour de MinIO, les équipes doivent choisir entre la maturité de S3Proxy, la simplicité de SeaweedFS ou la rapidité d’intégration de RustFS, en fonction de leurs exigences de sécurité et de maintenance.
version: '3'
services:
minio:
image: minio/minio
command: server /data
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: password
ports:
- "9000:9000"