DevOps & Cloud
projects/vexobj
DevOps & Cloud

VexObj

Stockage objet S3-compatible auto-hébergé, avec traitement média, chiffrement au repos et réplication — le tout dans un seul binaire Rust de ~14 Mo.

RustS3Object StorageAWS SigV4Media ProcessingSelf-hostedSQLite

À propos du projet

VexObj est une plateforme de stockage objet auto-hébergée livrée en un unique binaire Rust de ~14 Mo. Elle expose à la fois une API REST native (/v1/*) et une API S3-compatible (/s3/*) avec vérification réelle des signatures AWS Signature V4 — n'importe quel client S3 (aws-sdk, boto3, mc, rclone) s'y connecte sans modification. Là où MinIO/Garage ne font que du stockage pur, VexObj intègre dans le même processus le traitement média : transformations d'images à la volée (resize/crop, négociation automatique AVIF/WebP/JPEG), extraction de métadonnées vidéo et génération de vignettes via ffmpeg, avec cache multi-niveaux (LRU mémoire + disque). Côté stockage : versioning, object lock WORM (rétention + legal hold), règles de cycle de vie, déduplication par contenu, chiffrement AES-256-GCM au repos et réplication asynchrone primaire→réplica. Les blobs vivent sur disque local ou délèguent à n'importe quel backend S3 (R2, B2, Wasabi, MinIO). Ciblé en priorité pour les instances du fediverse (Mastodon, PeerTube, Pixelfed). SDKs officiels TypeScript, Python et Go.

Fonctionnalités clés

  • API S3-compatible avec vérification réelle AWS SigV4 — compatible aws-sdk, boto3, rclone, mc
  • Traitement média intégré : transforms d'images à la volée (AVIF/WebP), vignettes vidéo ffmpeg
  • Versioning, object lock WORM (rétention + legal hold), lifecycle et déduplication par contenu
  • Chiffrement AES-256-GCM au repos (~1,25 Go/s) et réplication asynchrone primaire→réplica
  • Un seul binaire ~14 Mo, métadonnées SQLite, backend blob pluggable (R2, B2, MinIO) — SDKs TS/Python/Go
aniasse/vexobj

$ git clone https://github.com/aniasse/vexobj.git

Cloning into 'vexobj'...

remote: Enumerating objects: done.

$ cdvexobj

$ cat README.md

# VexObj

Stockage objet S3-compatible auto-hébergé, avec traitement média, chiffrement au repos et réplication — le tout dans un seul binaire Rust de ~14 Mo.

/
Adama.

Software Engineer basé au Sénégal. Spécialisé en Go, Rust, Cloud-DevOps, Cybersécurité et calcul haute performance (HPC/GPU). Passionné par les systèmes distribués et les architectures performantes.

Stack

  • Go
  • Rust
  • TypeScript
  • Vue / Nuxt
  • Python · HPC
  • Docker / K8s

Status

Disponible

Ouvert aux missions freelance, postes CDI et collaborations open source.

Me contacter

© 2026 Adama Niasse. Tous droits réservés.

Dakar, Sénégal