Ajout Effi-OCR (Tesseract) + Web Scraper pour OpenWebUI

- Effi-OCR: Service OCR avec Tesseract (multilingue FR/EN)
  * API FastAPI sur port 8300
  * Prétraitement images (contraste, niveaux de gris)
  * Tool OpenWebUI intégré

- Web Scraper: Service Python (BeautifulSoup) sur port 11235
  * Alternative à Crawl4AI (incompatible ARM64/J5040)
  * Scraping HTML basique mais fonctionnel
  * Intégré au docker-compose d'effi-server

- Documentation:
  * ROADMAP-FONCTIONNALITES.md: Plan des 9 fonctionnalités
  * WEB-SCRAPER-CONFIG.md: Configuration OpenWebUI
  * WEB-SCRAPER-TOOL.md: Code du Tool

- Script start-all-services.sh mis à jour (6 services)
This commit is contained in:
Folzo
2026-04-06 16:34:27 +02:00
parent 5f1e19ff91
commit 93f31cdaeb
25 changed files with 2469 additions and 6 deletions
+107
View File
@@ -0,0 +1,107 @@
#!/bin/bash
# Script d'ajout de Crawl4AI au docker-compose existant
# À exécuter sur effi-server dans /root/effi/
set -e
echo "================================"
echo "Ajout de Crawl4AI à Effi Server"
echo "================================"
echo ""
# Vérifier qu'on est dans le bon répertoire
if [ ! -f "docker-compose.yml" ]; then
echo "❌ Erreur: docker-compose.yml non trouvé"
echo " Ce script doit être exécuté dans /root/effi/"
exit 1
fi
echo "📄 Docker-compose trouvé"
# Sauvegarder l'original
cp docker-compose.yml docker-compose.yml.backup.$(date +%Y%m%d_%H%M%S)
echo "💾 Backup créé: docker-compose.yml.backup.*"
# Ajouter le service avant "networks:"
echo ""
echo "🔧 Ajout du service Crawl4AI..."
# Créer un fichier temporaire avec le service à insérer
cat > /tmp/crawl4ai-service.txt << 'EOF'
# ─────────────────────────────────────────────────────────
# 8. CRAWL4AI - Web Scraping pour OpenWebUI
# → http://localhost:11235 (accessible depuis OpenWebUI)
# ─────────────────────────────────────────────────────────
crawl4ai:
image: unclecode/crawl4ai:basic
container_name: crawl4ai
restart: unless-stopped
ports:
- "11235:11235"
environment:
- CRAWL4AI_API_TOKEN=${CRAWL4AI_API_TOKEN:-}
- MAX_CONCURRENT_TASKS=3
- CRAWL4AI_ENABLE_GPU=false
volumes:
- /dev/shm:/dev/shm
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 512M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:11235/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
- effi-net
EOF
# Insérer avant la ligne "networks:"
awk '
/^networks:/ {
while ((getline line < "/tmp/crawl4ai-service.txt") > 0) {
print line
}
close("/tmp/crawl4ai-service.txt")
}
{ print }
' docker-compose.yml > /tmp/docker-compose-new.yml
# Remplacer le fichier original
mv /tmp/docker-compose-new.yml docker-compose.yml
echo "✅ Service ajouté au docker-compose.yml"
echo ""
# Démarrer le nouveau service
echo "🚀 Démarrage de Crawl4AI..."
docker-compose up -d crawl4ai
echo ""
echo "⏳ Attente du démarrage (30s)..."
sleep 30
# Vérification
echo ""
echo "🔍 Vérification..."
if curl -s http://localhost:11235/health > /dev/null 2>&1; then
echo "✅ Crawl4AI est démarré !"
echo ""
echo "📋 Configuration OpenWebUI:"
echo " Admin → Tools → Web Search and Crawl → ⚙️"
echo " Crawl4AI Base URL: http://localhost:11235"
echo " Timeout: 30000"
else
echo "⚠️ Le service ne répond pas encore"
echo " Vérifier les logs: docker logs crawl4ai"
fi
echo ""
echo "================================"
echo "Installation terminée !"
echo "================================"