Stockage universel
Images, PDF, vidéos, archives — tout type de fichier, sans restriction.
Le S3 + Cloudinary dont vous gardez les clés. Un seul binaire Rust pour stocker, servir et transformer vos médias.
Images, PDF, vidéos, archives — tout type de fichier, sans restriction.
Resize, crop, conversion AVIF/WebP/JPEG via query params — négociation selon le header Accept du navigateur.
Extraction de metadata MP4/MOV en pur Rust, miniatures server-side via ffmpeg, queue de transcoding SQLite.
Les fichiers identiques sont stockés une seule fois. Économie d'espace native.
Historique par objet, delete-markers, object lock avec retention + legal hold. Conformité healthcare, finance, légal.
AES-256-GCM avec clés dérivées par blob. Dédup + chiffrement compatibles. Vous gardez le master key.
Pas de mock. Tous les SDK S3 (aws-sdk, boto3, mc, rclone) fonctionnent sans modification.
LRU en mémoire + cache disque, tous deux bornés. Transformations d'image servies en sub-seconde.
Dashboard intégré sur /dashboard, export Prometheus /metrics, spec OpenAPI auto-générée.
Clients TypeScript, Python et Go maintenus par le projet. Zero boilerplate.
Disque local par défaut, ou délégation S3-compatible (R2, B2, Wasabi, MinIO). Metadata toujours SQLite.
Zéro dépendance externe, zéro runtime, zéro service side-car. Un process, un fichier de config.
SaaS B2B/B2C jusqu'à quelques millions d'utilisateurs
Un seul binaire + un backend S3 absorbent la charge sans sharding custom.
Plateformes média indépendantes
Podcasts, vidéo, galeries photo. Ingestion, transfo, transcoding en un process.
Instances fédérées
Mastodon, Matrix, Peertube, Pixelfed : stockage local + compat S3 pour les clients.
Archives documentaires entreprise
WORM + audit + retention immuable. Healthcare, finance, archivage légal.
Échelle réseau social grand public
SQLite plafonne vers ~100 To / milliards d'objets. Pour Meta/TikTok, il faut une couche metadata distribuée.
Multi-région active-active
La réplication est one-way asynchrone. Pas de consensus Raft.
Modération automatisée (NSFW, DMCA)
À construire à côté, pas dedans.
Remplacement complet de l'écosystème AWS
Pas d'IAM fine-grained, pas de multi-comptes SCP. L'auth est volontairement simple.
Une seule API REST + une S3 compatible SigV4. Tous vos SDK S3 existants fonctionnent tels quels.
# Upload n'importe quel fichier
curl -X PUT http://localhost:8000/v1/objects/photos/beach.jpg \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: image/jpeg" \
--data-binary @beach.jpg
# Multipart — plusieurs fichiers d'un coup
curl -X POST http://localhost:8000/v1/upload/photos/vacation \
-H "Authorization: Bearer $API_KEY" \
-F "file1=@beach.jpg" \
-F "file2=@sunset.png"14 MB
taille du binaire
SQLite
metadata, zéro dépendance
3 SDK
TypeScript · Python · Go
MIT
licence permissive
v0.1.0
Première release publique
Binaires Linux amd64 et macOS arm64. Image Docker ghcr.io/aniasse/vaultfs:latest.
v0.2.0
En préparation · réplication multi-région, webhooks, UI dashboard améliorée