Initial vault setup
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: Imagor Studio
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, photos, image, processor, transform, self-hosted, web]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/cshum/imagor-studio]
|
||||
---
|
||||
|
||||
# 📸 Imagor Studio
|
||||
|
||||
> **Interface web pour Imagor** : contrôlez le puissant processeur d'images Imagor via une UI élégante, pour redimensionner, recadrer, transformer vos images à la volée.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Attribut | Valeur |
|
||||
|----------|--------|
|
||||
| **Nom** | Imagor Studio |
|
||||
| **Slug** | app-imagor-studio |
|
||||
| **Description** | Interface web pour le processeur d'images Imagor |
|
||||
| **Site officiel** | [imagor.studio](https://imagor.studio) |
|
||||
| **Repository** | [cshum/imagor-studio](https://github.com/cshum/imagor-studio) |
|
||||
| **Stars** | 223 ⭐ |
|
||||
| **Licence** | MIT |
|
||||
| **Langage principal** | TypeScript, Go |
|
||||
| **Catégorie** | Photos |
|
||||
| **Tags** | [catalogue, photos, image, processor, transform, self-hosted, web] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Imagor Studio** est l'**interface utilisateur** du projet [Imagor](https://github.com/cshum/imagor) — un processeur d'images haute performance écrit en Go, capable de **transformer des images à la volée** via une URL (ex: `?width=800&height=600&fit=cover&format=webp`). Imagor Studio ajoute à ce backend puissant une UI web moderne pour **composer visuellement** ces transformations.
|
||||
|
||||
Pourquoi c'est utile : Imagor seul, c'est une **API**. Il faut écrire des URL à la main ou intégrer dans un CMS. Imagor Studio offre : **interface drag & drop** pour uploader, **sliders et forms** pour les transformations, **aperçu temps réel**, **URL générée automatiquement** (copier-coller), **gestion de buckets S3** ou local, **historique des transformations**, **galerie de pré-versions**.
|
||||
|
||||
Fonctionnalités clés : **transformation d'images** (resize, crop, rotate, flip, blur, sharpen), **conversion de format** (WebP, AVIF, JPEG, PNG), **filtres** (brightness, contrast, saturation, gamma), **watermark**, **auto-orientation EXIF**, **strip metadata**, **URL signée** (HMAC), **cache CDN-like** (HTTP cache headers), **support S3, GCS, Azure, filesystem**, **crop intelligent** (smartcrop, détection de visage).
|
||||
|
||||
Cas d'usage : **e-commerce** (images produits multi-tailles), **CMS headless** (URLs dynamiques), **CDN d'images** self-hosted, **avatar/profile pic** avec recadrage intelligent.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
imagor:
|
||||
image: shumc/imagor:latest
|
||||
container_name: imagor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /mnt/photos:/mnt/data
|
||||
environment:
|
||||
- IMAGOR_SECRET=***
|
||||
- IMAGOR_BIND=0.0.0.0:8000
|
||||
ports:
|
||||
- 8000:8000
|
||||
|
||||
imagor-studio:
|
||||
image: ghcr.io/cshum/imagor-studio:latest
|
||||
container_name: imagor-studio
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- IMAGOR_STUDIO_IMAGOR_URL=http://imagor:8000
|
||||
ports:
|
||||
- 8090:8000
|
||||
depends_on:
|
||||
- imagor
|
||||
```
|
||||
|
||||
### Exemple d'URL Imagor
|
||||
|
||||
```
|
||||
http://imagor:8000/unsafe/photo.jpg?width=800&height=600&fit=cover&format=webp
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- **Secret HMAC** : `IMAGOR_SECRET` pour signer les URLs (évite abus).
|
||||
- **Stockage** : filesystem local, S3, GCS, Azure Blob.
|
||||
- **Cache** : Redis recommandé pour les transformations.
|
||||
- **Loader** : configurer la source des images (S3, dossier, URL HTTP).
|
||||
- **Strip metadata** : activer par défaut pour la vie privée.
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **[[app-mazanoke]]** — Compression/conversion côté client, plus simple
|
||||
- **[[app-withoutbg]]** — Spécialisé en détourage IA
|
||||
- **Thumbor** — Plus ancien, Python, équivalent en fonctionnalités
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **Secret HMAC** : indispensable en production, garder confidentiel.
|
||||
- **URLs signées avec expiration** : générer côté serveur pour les utilisateurs.
|
||||
- **HTTPS** : obligatoire.
|
||||
- **Rate limiting** : en reverse proxy (toutes les transformations sont calculées ou cachées, mais coûteuses si nouvelles).
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://imagor.studio)
|
||||
- [Repository GitHub Studio](https://github.com/cshum/imagor-studio)
|
||||
- [Repository GitHub Imagor](https://github.com/cshum/imagor)
|
||||
- [Documentation Imagor](https://github.com/cshum/imagor#readme)
|
||||
|
||||
## 🔗 Pages Liées
|
||||
- [[cat-photos]]
|
||||
- [[app-mazanoke]]
|
||||
- [[app-withoutbg]]
|
||||
- [[app-traefik]]
|
||||
- [[recettes-docker-compose]]
|
||||
- [[securisation-home-lab]]
|
||||
Reference in New Issue
Block a user