v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
288
docs/ROADMAP_DOCKERISATION.md
Normal file
288
docs/ROADMAP_DOCKERISATION.md
Normal file
@@ -0,0 +1,288 @@
|
||||
# Roadmap Dockerisation RPA Vision
|
||||
|
||||
> Document créé le 26 janvier 2026 - À implémenter après période de démos
|
||||
|
||||
---
|
||||
|
||||
## 1. CONTEXTE
|
||||
|
||||
Objectif : Faciliter le déploiement, les mises à jour et la maintenance via Docker.
|
||||
|
||||
### Situation actuelle
|
||||
- Installation manuelle avec multiples venvs Python
|
||||
- Dépendances complexes (PyTorch, CLIP, rfdetr, etc.)
|
||||
- Configuration GPU manuelle
|
||||
- Difficulté à reproduire l'environnement chez les clients
|
||||
|
||||
---
|
||||
|
||||
## 2. AVANTAGES ATTENDUS
|
||||
|
||||
| Aspect | Bénéfice |
|
||||
|--------|----------|
|
||||
| **Déploiement** | Installation en une commande (`docker-compose up`) |
|
||||
| **Reproductibilité** | Même environnement partout (dev/prod/client) |
|
||||
| **Isolation** | Pas de conflits de dépendances Python/Node |
|
||||
| **Mises à jour** | Pull nouvelle image, redémarrer |
|
||||
| **Rollback** | Revenir à une version précédente instantanément |
|
||||
| **Multi-tenant** | Plusieurs instances isolées sur même machine |
|
||||
| **CI/CD** | Tests automatisés dans containers identiques à la prod |
|
||||
|
||||
---
|
||||
|
||||
## 3. DÉFIS SPÉCIFIQUES À RPA VISION
|
||||
|
||||
| Contrainte | Solution | Complexité |
|
||||
|------------|----------|------------|
|
||||
| **GPU (CUDA)** | `nvidia-docker` / `--gpus all` | Faible |
|
||||
| **Accès écran (X11)** | Monter `/tmp/.X11-unix` + variable `DISPLAY` | Moyenne |
|
||||
| **Capture souris/clavier** | `--privileged` ou capabilities spécifiques | Moyenne |
|
||||
| **Ollama** | Container séparé ou accès host via réseau | Faible |
|
||||
| **Stockage modèles** | Volumes persistants (éviter re-téléchargement) | Faible |
|
||||
| **Citrix/VDI** | Tests spécifiques nécessaires | Haute |
|
||||
|
||||
---
|
||||
|
||||
## 4. ARCHITECTURE DOCKER PROPOSÉE
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml (structure cible)
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# === FRONTEND ===
|
||||
vwb-frontend:
|
||||
build: ./visual_workflow_builder/frontend_v4
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- vwb-backend
|
||||
|
||||
# === BACKEND VWB (GPU) ===
|
||||
vwb-backend:
|
||||
build: ./visual_workflow_builder/backend
|
||||
ports:
|
||||
- "5001:5001"
|
||||
volumes:
|
||||
- ./models:/app/models:ro
|
||||
- ./data:/app/data
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
depends_on:
|
||||
- redis
|
||||
- ollama
|
||||
|
||||
# === DASHBOARD ===
|
||||
web-dashboard:
|
||||
build: ./web_dashboard
|
||||
ports:
|
||||
- "5004:5004"
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
# === OLLAMA (GPU) ===
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama-models:/root/.ollama
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
|
||||
# === CACHE ===
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
|
||||
# === BASE DE DONNÉES (optionnel) ===
|
||||
postgres:
|
||||
image: postgres:15-alpine
|
||||
environment:
|
||||
POSTGRES_DB: rpa_vision
|
||||
POSTGRES_USER: rpa
|
||||
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
secrets:
|
||||
- db_password
|
||||
|
||||
volumes:
|
||||
ollama-models:
|
||||
redis-data:
|
||||
postgres-data:
|
||||
|
||||
secrets:
|
||||
db_password:
|
||||
file: ./secrets/db_password.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. PLAN D'IMPLÉMENTATION
|
||||
|
||||
### Phase 1 : Services Web (Priorité haute)
|
||||
**Durée estimée : 1-2 jours**
|
||||
|
||||
- [ ] Dockerfile pour `web-dashboard`
|
||||
- [ ] Dockerfile pour `vwb-frontend`
|
||||
- [ ] Configuration nginx reverse proxy
|
||||
- [ ] docker-compose.yml minimal (sans GPU)
|
||||
- [ ] Tests de déploiement
|
||||
|
||||
**Gains** : Déploiement simplifié pour 60% du système
|
||||
|
||||
### Phase 2 : Backend avec GPU (Priorité moyenne)
|
||||
**Durée estimée : 2-3 jours**
|
||||
|
||||
- [ ] Dockerfile pour `vwb-backend` avec CUDA
|
||||
- [ ] Intégration Ollama container
|
||||
- [ ] Volumes pour modèles (UI-DETR-1, CLIP)
|
||||
- [ ] Tests GPU dans container
|
||||
- [ ] Optimisation taille image (multi-stage build)
|
||||
|
||||
**Gains** : Environnement ML reproductible
|
||||
|
||||
### Phase 3 : Agent d'exécution RPA (Priorité basse)
|
||||
**Durée estimée : 3-5 jours**
|
||||
|
||||
- [ ] Gestion accès X11/Wayland
|
||||
- [ ] Permissions souris/clavier
|
||||
- [ ] Tests sur différents environnements (natif, Citrix, VDI)
|
||||
- [ ] Documentation des limitations
|
||||
|
||||
**Gains** : Système complet dockerisé
|
||||
|
||||
---
|
||||
|
||||
## 6. ALTERNATIVE HYBRIDE (Recommandée initialement)
|
||||
|
||||
Pour simplifier le déploiement initial :
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ DOCKER │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ Frontend │ │ Dashboard │ │ Ollama │ │
|
||||
│ │ :3000 │ │ :5004 │ │ :11434 │ │
|
||||
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||||
│ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ Backend │ │ Redis │ │
|
||||
│ │ :5001 │ │ :6379 │ │
|
||||
│ └─────────────┘ └─────────────┘ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
│
|
||||
│ API calls
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ HOST (non dockerisé) │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ Agent RPA (accès direct écran/souris) │ │
|
||||
│ │ - pyautogui │ │
|
||||
│ │ - Capture écran │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**Avantages** :
|
||||
- 80% des bénéfices Docker
|
||||
- Évite les complications X11/permissions
|
||||
- Plus simple à débugger
|
||||
- Compatible tous environnements
|
||||
|
||||
---
|
||||
|
||||
## 7. COMMANDES DE DÉPLOIEMENT CIBLES
|
||||
|
||||
```bash
|
||||
# Installation complète
|
||||
git clone https://github.com/xxx/rpa-vision-v3.git
|
||||
cd rpa-vision-v3
|
||||
docker-compose up -d
|
||||
|
||||
# Mise à jour
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
|
||||
# Rollback
|
||||
docker-compose down
|
||||
docker tag rpa-vision/backend:latest rpa-vision/backend:backup
|
||||
docker pull rpa-vision/backend:v1.2.3
|
||||
docker-compose up -d
|
||||
|
||||
# Logs
|
||||
docker-compose logs -f vwb-backend
|
||||
|
||||
# Status
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. PRÉREQUIS CLIENT
|
||||
|
||||
### Minimum
|
||||
- Docker 24+
|
||||
- Docker Compose 2.20+
|
||||
- 16 Go RAM
|
||||
- 50 Go disque
|
||||
|
||||
### Avec GPU (recommandé)
|
||||
- NVIDIA Driver 535+
|
||||
- nvidia-container-toolkit
|
||||
- GPU avec 8+ Go VRAM
|
||||
|
||||
### Commande de vérification
|
||||
```bash
|
||||
# Vérifier Docker
|
||||
docker --version
|
||||
docker-compose --version
|
||||
|
||||
# Vérifier GPU Docker
|
||||
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. REGISTRE D'IMAGES
|
||||
|
||||
Options pour héberger les images :
|
||||
|
||||
| Option | Avantages | Inconvénients |
|
||||
|--------|-----------|---------------|
|
||||
| Docker Hub | Gratuit, simple | Images publiques ou payant |
|
||||
| GitHub Container Registry | Intégré GitHub | Limites de stockage |
|
||||
| AWS ECR | Scalable, privé | Coût AWS |
|
||||
| Self-hosted (Harbor) | Contrôle total | Maintenance |
|
||||
|
||||
**Recommandation** : GitHub Container Registry pour commencer (gratuit, privé possible)
|
||||
|
||||
---
|
||||
|
||||
## 10. LIENS UTILES
|
||||
|
||||
- [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
|
||||
- [Docker Compose GPU](https://docs.docker.com/compose/gpu-support/)
|
||||
- [Ollama Docker](https://hub.docker.com/r/ollama/ollama)
|
||||
- [Multi-stage builds](https://docs.docker.com/build/building/multi-stage/)
|
||||
|
||||
---
|
||||
|
||||
*Document à compléter après la période de démos*
|
||||
*Prochaine révision prévue : Février 2026*
|
||||
Reference in New Issue
Block a user