#!/bin/bash # Configuration du cache HuggingFace dans le répertoire du projet set -e echo "🔧 Configuration Cache HuggingFace Local" echo "=========================================" echo "" if [ "$EUID" -ne 0 ]; then echo "❌ Ce script doit être exécuté avec sudo" echo "Usage: sudo bash fix_hf_cache_local.sh" exit 1 fi # 1. Créer le cache dans le projet (déjà créé, on vérifie) CACHE_DIR="/opt/rpa_vision_v3/.cache" mkdir -p "$CACHE_DIR/huggingface" mkdir -p "$CACHE_DIR/torch" # 2. Changer le owner pour l'utilisateur rpa echo "🔐 Configuration des permissions..." chown -R rpa:rpa "$CACHE_DIR" chmod -R 755 "$CACHE_DIR" echo "✅ Permissions configurées" ls -la "$CACHE_DIR/" echo "" # 3. Ajouter HF_HOME dans les variables d'environnement ENV_FILE="/etc/rpa_vision_v3/rpa_vision_v3.env" BACKUP_ENV="${ENV_FILE}.backup_hf_$(date +%Y%m%d_%H%M%S)" echo "💾 Sauvegarde: $BACKUP_ENV" cp "$ENV_FILE" "$BACKUP_ENV" # Vérifier si HF_HOME existe déjà if grep -q "^HF_HOME=" "$ENV_FILE"; then echo "⚠️ HF_HOME existe déjà, mise à jour..." sed -i "s|^HF_HOME=.*|HF_HOME=/opt/rpa_vision_v3/.cache/huggingface|" "$ENV_FILE" else echo "📝 Ajout de HF_HOME..." echo "" >> "$ENV_FILE" echo "# HuggingFace cache (pour modèles CLIP)" >> "$ENV_FILE" echo "HF_HOME=/opt/rpa_vision_v3/.cache/huggingface" >> "$ENV_FILE" fi echo "✅ Variable HF_HOME configurée" echo "" # 4. Redémarrer le worker echo "🔄 Redémarrage du worker..." systemctl restart rpa-vision-v3-worker.service sleep 3 STATUS=$(systemctl is-active rpa-vision-v3-worker.service) if [ "$STATUS" = "active" ]; then echo "✅ Worker redémarré avec succès" else echo "❌ Worker en état: $STATUS" exit 1 fi echo "" echo "✅ CONFIGURATION TERMINÉE" echo "" echo "📋 Résumé:" echo " - Cache: /opt/rpa_vision_v3/.cache/huggingface/" echo " - Owner: rpa:rpa" echo " - HF_HOME configuré dans $ENV_FILE" echo " - Worker redémarré" echo "" echo "🎯 Prochaine étape:" echo " Tester avec une nouvelle session pour vérifier que CLIP se télécharge"