Pourquoi auto-héberger son stockage objet
Les fournisseurs cloud facturent le stockage, les requêtes GET/PUT et surtout l'egress — le trafic sortant. Sur un VPS à tarif fixe, vous n'avez rien de tout cela : votre endpoint S3 sert autant de requêtes que vous voulez, sans surprise en fin de mois. Et parce que l'API est celle de S3, vos outils existants — rclone, restic, aws-cli, tout SDK S3 — s'y branchent sans modification.
Le mouvement du self-hosting a rendu ces solutions accessibles même à une petite équipe : là où il fallait autrefois administrer un cluster distribué, un seul conteneur sur un VPS suffit aujourd'hui pour la grande majorité des besoins de stockage d'une PME ou d'un projet personnel.
Ce que RustFS apporte face à ses alternatives
- Console web intégrée sur le port 9001 — [Garage](/blog/heberger-garage-s3-vps) n'en a pas, [MinIO](/blog/heberger-minio-vps) nécessite une licence séparée pour sa console avancée depuis 2021
- Binaire Rust unique dans un seul conteneur — pas de dépendance PostgreSQL ni de service annexe à maintenir
- Credentials S3 générés automatiquement à l'installation, affichés dans l'espace client ServOrbit
- Apache 2.0 — aucune limitation de fonctionnalité selon l'édition
- Endpoint
/healthsur le port 9000 pour les sondes de monitoring - Démarrage rapide : l'image
rustfs/rustfs:latestpèse moins de 60 Mo et le container est healthy en moins de 30 secondes
Prérequis
Un VPS ServOrbit avec 2 Go de RAM minimum et un volume SSD dimensionné selon vos besoins de stockage. Docker est installé automatiquement par ServOrbit. Aucun nom de domaine n'est requis pour démarrer : l'accès passe par un tunnel SSH sur les ports 9001 (console) et 9000 (API S3).
Pour un usage intensif — sauvegarde quotidienne de bases de données volumineuses, stockage de plusieurs dizaines de gigaoctets, ou accès concurrent depuis plusieurs applications — comptez 4 Go de RAM et 2 vCPU.
Installation pas à pas
Installer RustFS depuis la Marketplace
Depuis votre espace client ServOrbit, choisissez votre VPS, puis sélectionnez RustFS dans la Marketplace. L'installation déploie le conteneur
rustfs/rustfs:latestavec un volume Docker nommérustfs-data. Deux credentials sont générés :RUSTFS_ACCESS_KEY(identifiant) etRUSTFS_SECRET_KEY(mot de passe), tous deux affichés dans la rubrique Credentials de votre service.Ouvrir la console web
Créez un tunnel SSH vers le port de la console (affiché dans votre espace client) :
ssh -L 9001:127.0.0.1:<port> root@<ip-vps>Puis ouvrez
http://localhost:9001/rustfs/console/dans votre navigateur. Entrez la valeur deRUSTFS_ACCESS_KEYcomme identifiant etRUSTFS_SECRET_KEYcomme mot de passe.Créer un bucket et configurer les politiques
Dans la console, cliquez sur Create Bucket et nommez-le (par exemple
backupsouassets). Vous pouvez ensuite définir une politique d'accès :ReadOnlypour les assets publics,ReadWritepour les buckets applicatifs, ou laisser le bucket privé par défaut.Connecter un client S3
Ouvrez un second tunnel pour l'API S3 :
ssh -L 9000:127.0.0.1:9000 root@<ip-vps>Puis configurez votre client S3 :
mc alias set mystore http://localhost:9000 <RUSTFS_ACCESS_KEY> <RUSTFS_SECRET_KEY> mc ls mystorePour
restic:restic -r s3:http://localhost:9000/backups initRattacher un domaine (optionnel)
Si vous souhaitez accéder à la console et à l'API S3 depuis l'extérieur sans tunnel, rattachez un nom de domaine depuis votre espace client ServOrbit — nginx proxifie automatiquement vers le port de la console en HTTPS. Vous pouvez aussi utiliser le sous-domaine gratuit
{app}.{dns_slug}.servorbit-dns.cominclus avec chaque VPS.
Cas d'usage courants
Sauvegarde de bases de données : pointez pg_dump | rclone rcat mystore:backups/dump.sql.gz vers votre endpoint RustFS. Assets applicatifs : configurez votre application (Laravel, Django, Next.js) pour écrire ses uploads dans un bucket RustFS plutôt que sur le disque local. Cache d'artefacts CI/CD : exposez un bucket pour stocker les artefacts de build entre les runs, sans dépendre d'un service cloud externe.
RustFS s'intègre aussi parfaitement avec [restic](/blog/sauvegardes-restic-vps) : configurez le dépôt de sauvegarde comme s3:http://localhost:9000/backups et profitez des déduplication, chiffrement et rotation automatique de restic sur votre propre infrastructure.
Persistance des données et stratégie de sauvegarde
Le volume Docker rustfs-data persiste vos données entre les redémarrages et les mises à jour du conteneur. Pour protéger ce volume contre la perte du VPS, exportez-le régulièrement :
# Snapshot du volume vers un fichier local
docker run --rm -v rustfs-data:/data alpine tar czf - /data > rustfs-backup.tar.gzPour une sauvegarde automatisée, configurez un cron qui envoie ces snapshots vers un second VPS ou un stockage externe. Vous pouvez aussi activer la réplication bucket-to-bucket si vous disposez d'un second endpoint S3 compatible. Pour une stratégie 3-2-1 complète, consultez notre guide sur les [sauvegardes restic](/blog/sauvegardes-restic-vps) : restic chiffre, déduplique et tourne automatiquement les snapshots, et supporte nativement les backends S3.
RustFS vs MinIO vs Garage : lequel choisir ?
Les trois sont des serveurs S3-compatibles open source, mais avec des compromis différents. [MinIO](/blog/heberger-minio-vps) est le plus mature et le plus répandu, mais sa console web avancée est passée sous licence commerciale en 2021 (AGPL-3.0 ou licence commerciale) — pour un usage solo ou d'équipe restreinte, la console reste accessible, mais la frontière légale mérite attention. [Garage](/blog/heberger-garage-s3-vps) (Apache-2.0) est conçu pour la géo-distribution sur des nœuds à faible fiabilité, sans console web intégrée. RustFS (Apache-2.0) cible le cas le plus courant : un endpoint S3 unique sur un seul VPS, avec une console web embarquée, sans compromis de licence. Si vous avez besoin de géo-distribution ou d'un cluster multi-nœuds, Garage sera plus adapté ; pour un VPS unique avec interface graphique, RustFS est le choix le plus simple.
Installer depuis la Marketplace ServOrbit
RustFS est disponible directement dans la Marketplace ServOrbit — un clic déploie le conteneur, génère les credentials et les affiche dans votre espace client. Aucune commande à taper pour commencer.