009e42b3e26906e25720a738b9e7e8fb0c105994
Imago Hub v2.0.0
Imago est un hub Backend & Traitement IA multi-tenant open-source dédié à la gestion d'images. Conçu pour propulser des applications frontend riches, il offre un stockage média hautement concurrent, des traitements asynchrones planifiés, une observabilité complète du pipeline et des intégrations poussées avec l'Intelligence Artificielle.
Fonctionnalités
| Catégorie | Détails |
|---|---|
| Upload & Stockage | Multi-tenant, miniatures auto, stockage local ou S3 (MinIO/AWS/Cloudflare R2) |
| Métadonnées | EXIF, GPS, résolution |
| OCR | Tesseract + fallback IA |
| Vision IA | Description de scènes + tags (OpenRouter / Gemini) |
| Temps réel | WebSocket via Redis Pub/Sub |
| Sécurité | API Key SHA-256+pepper, scopes, rate limiting par plan |
| Admin Panel | Interface React : clients, galerie, métriques, logs |
| SDK Python | imago-client pour intégration programmatique |
Structure du projet
imago/
├── docker-compose/ # Fichiers Docker Compose
│ ├── docker-compose.yml # Développement local (build + S3)
│ ├── docker-compose.prod.yml # Production (images pré-buildées)
│ └── .env.example # Template de configuration
├── scripts/
│ ├── setup.sh # Préparation unique du serveur
│ └── deploy.sh # Déploiement / mise à jour
├── app/ # Code backend FastAPI
├── imago-admin/ # Frontend admin React
├── sdk/ # SDK Python
└── docs/ # Documentation
Déploiement rapide
Sur un nouveau serveur (2 commandes)
sudo git clone https://git.dracodev.net/Projets/Imago.git /opt/imago
cd /opt/imago
# 1. Préparer le serveur (une seule fois)
sudo bash ./scripts/setup.sh
# Déconnectez/reconnectez-vous (groupe docker)
# 2. Déployer
cd /opt/imago
bash ./scripts/deploy.sh
Le script interactif vous guidera : création du .env, saisie des clés API, démarrage des services. Au premier lancement, la clé admin bootstrap s'affiche.
Commandes au quotidien
./scripts/deploy.sh -u # Mise à jour (pull + recréation)
./scripts/deploy.sh -s # État des conteneurs
./scripts/deploy.sh -l # Logs en temps réel
URLs d'accès
| Service | URL |
|---|---|
| Admin UI | http://<serveur>:3001 |
| API Docs | http://<serveur>:8001/docs |
| Health | http://<serveur>:8001/health |
Développement local
# Stack Docker complète (build from source)
docker compose -f docker-compose/docker-compose.yml up -d --build
# Récupérer la clé admin
docker compose -f docker-compose/docker-compose.yml logs backend | grep "Bootstrap client"
# Sans Docker
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Configurer DATABASE_URL, clés AI
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
python worker.py # Terminal séparé
Build des images
# Depuis Windows (WSL Debian requis)
# Backend
cd C:\dev\git\python\imago
docker build --no-cache -t docker-registry.dev.home:5000/imago-backend:latest -f Dockerfile .
# Admin
cd imago-admin
docker build --no-cache -t docker-registry.dev.home:5000/imago-admin:latest .
# Push
docker push docker-registry.dev.home:5000/imago-backend:latest
docker push docker-registry.dev.home:5000/imago-admin:latest
Tests
pip install -r requirements-dev.txt
pytest tests/ -v
Documentation
- Guide d'Utilisation — Utilisation et portail admin
- Architecture — Stack technique et flux
- Guide API — Endpoints REST + WebSocket
- Guide SDK Python — Intégration programmatique
- Guide Déploiement — Procédure détaillée
- Roadmap — 107 fonctionnalités planifiées
- Checklist Production — 46 points avant prod
- CHANGELOG — Historique des versions
Spécification OpenAPI : http://<serveur>:8001/docs
Languages
Python
48.1%
TypeScript
44.6%
Shell
5.4%
CSS
0.6%
PowerShell
0.5%
Other
0.8%