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

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

# 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