Files
rpa_vision_v3/docs/ROADMAP_DOCKERISATION.md
Dom a27b74cf22 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>
2026-01-29 11:23:51 +01:00

289 lines
8.3 KiB
Markdown

# 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*