- 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>
8.3 KiB
8.3 KiB
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
# 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-backendavec 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
# 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
# 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
Document à compléter après la période de démos Prochaine révision prévue : Février 2026