Media

Délivrez et optimisez vos médias stockés sur S3

Made with ♡ by Yama
Yama Media - Un stockage évolutif et sans contrainte

Un stockage évolutif et sans contrainte

Yama Media s'appuie sur un stockage objet compatible S3 pour conserver les fichiers originaux. Cette approche permet de bénéficier d'un espace de stockage qui évolue automatiquement avec les besoins, sans avoir à gérer la capacité des disques de vos serveurs.

Les originaux sont conservés de manière immuable, ce qui permet notamment de mettre en place des politiques de cache longue durée et de simplifier la gestion des médias.

Yama Media - Une distribution directe avec Caddy

Une distribution directe avec Caddy

Grâce à son serveur web Caddy, Yama Media expose directement les fichiers stockés dans votre bucket S3 via des URL publiques sécurisées en HTTPS. Le serveur assure également la terminaison TLS pour les requêtes destinées à Thumbor.

Cette séparation entre stockage, distribution et traitement des images permet de construire une architecture simple, indépendante de votre application et facilement évolutive.

Yama Media - Transformez et optimisez vos images

Transformez et optimisez vos images

Yama Media intègre Thumbor pour générer dynamiquement les déclinaisons de vos images : redimensionnement, recadrage et optimisation. Thumbor récupère directement les originaux depuis S3, sans maintenir de stockage local.

Les images transformées sont ensuite mises en cache par Nginx afin de limiter les traitements répétitifs et d'accélérer leur diffusion. Quelques gigaoctets de cache suffisent ainsi à servir rapidement les images les plus consultées.

Quickstart

Déployez rapidement votre environnement Yama Media avec Docker Compose. La configuration de développement intègre SeaweedFS pour disposer d'un stockage S3 local, sans dépendre d'un service externe.

Une fois démarré, vous pouvez envoyer vos premières images dans le bucket images et tester leur accès ainsi que leur transformation directement depuis votre navigateur.

docker compose \
-f docker-compose.yml \
-f docker-compose.dev.yml \
--env-file .env.dev \
up -d --build --wait


# Upload to the images bucket
s5cmd --endpoint-url http://127.0.0.1:8333 cp photo.jpg s3://images/

FAQ

Trouvez des réponses à toutes vos questions
À quoi sert Yama Media ?
Yama Media est un microservice dédié au stockage, à la transformation et à la diffusion de médias. Il s'appuie sur une architecture combinant stockage objet S3, Caddy, Thumbor et Nginx pour proposer une solution complète de gestion et de distribution de médias.
Est-ce que Yama Media est gratuit ?
Yama Media n'est pas proposé en mode SaaS gratuit, mais peut être déployé et utilisé librement dans votre propre infrastructure grâce à sa licence open source.
Est-ce que Yama Media est open source ?
Oui, Yama Media est un projet open source distribué sous licence MIT. Son code source est librement accessible sur GitLab. Vous pouvez l'utiliser, le modifier et le déployer sur votre propre infrastructure, y compris dans un contexte commercial, conformément aux conditions de cette licence.
Quels types de stockage sont compatibles ?
Yama Media utilise le protocole S3 pour accéder aux fichiers originaux. Il peut ainsi s'appuyer sur des services de stockage objet compatibles S3, qu'ils soient hébergés dans votre infrastructure ou proposés par un fournisseur cloud.
Peut-on transformer les images à la volée ?
Oui. Grâce à Thumbor, les images peuvent être redimensionnées, recadrées et optimisées dynamiquement à partir de leur URL. Cela permet de générer différentes déclinaisons d'un même original sans avoir à préparer chaque version manuellement.
Comment Yama Media optimise-t-il les performances ?
Yama Media utilise Nginx pour mettre en cache les images transformées par Thumbor. Les images déjà générées peuvent ainsi être servies directement depuis le cache, sans déclencher un nouveau traitement à chaque requête.
Peut-on utiliser Yama Media en local ?
Oui. Une configuration Docker Compose dédiée au développement intègre SeaweedFS, qui fournit un stockage objet compatible S3. Vous pouvez ainsi tester le stockage, l'envoi et la transformation des images sans dépendre d'un service S3 externe.
Peut-on exposer directement les images originales ?
Oui. Caddy permet d'exposer directement les fichiers stockés sur le bucket S3 via un domaine dédié. Les originaux peuvent ainsi être accessibles indépendamment des versions transformées et optimisées par Thumbor.