bruno cd2a2efbd5
CI / Lint & Format (push) Failing after 9s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
Increase AI timeout to 180s, disable retries (0) for slow vision models
2026-06-25 23:11:47 -04:00

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

Spécification OpenAPI : http://<serveur>:8001/docs

S
Description
Application de gestion d'images
Readme
1.2 MiB
Languages
Python 48.1%
TypeScript 44.6%
Shell 5.4%
CSS 0.6%
PowerShell 0.5%
Other 0.8%