Flowise / README.md
EnzGamers's picture
Update README.md
cc77df7 verified
metadata
title: Flowise
emoji: 🔥
colorFrom: red
colorTo: purple
sdk: docker
pinned: false
license: mit
short_description: Flowise ai With PostgresSQL (Supabase), Created By EnzGamers

Flowise Deployment on Hugging Face Spaces

Deployment Status Node Version Database

📋 Objectif du projet

Ce dépôt contient la configuration Docker pour déployer Flowise sur Hugging Face Spaces avec une base de données PostgreSQL hébergée sur Supabase. L'objectif est de fournir une solution d'orchestration LLM (Large Language Model) professionnelle, sécurisée et évolutive.

🏗️ Architecture technique

Composants principaux

  • Application : Flowise v3.0.7
  • Runtime : Node.js 20 (Alpine Linux)
  • Base de données : PostgreSQL (Supabase)
  • Plateforme : Hugging Face Spaces
  • Port d'écoute : 7860

Dépendances système

- ca-certificates (gestion SSL/TLS)
- git (contrôle de version)
- python3, py3-pip (scripts auxiliaires)
- make, g++, build-base (compilation native)
- cairo-dev, pango-dev (rendu graphique)
- chromium (automatisation web via Puppeteer)

🚀 Guide de déploiement

Prérequis

  1. Compte Hugging Face avec accès aux Spaces
  2. Base de données Supabase configurée
  3. Accès git au repository

Étape 1 : Configuration de la base de données

Récupération des identifiants Supabase

  1. Accédez à votre projet Supabase
  2. Naviguez vers Project Settings > Database
  3. Dans la section Connection string, sélectionnez Transaction Pooler
  4. Notez les informations de connexion (host, port, user, password, database)

Étape 2 : Configuration des secrets Hugging Face

Dans votre Space, allez à Settings > Variables and secrets et ajoutez :

Variable Valeur Type
DATABASE_HOST Votre hôte Supabase Secret
DATABASE_PORT 6543 (Pooler) ou 5432 (Direct) Variable
DATABASE_USER Votre utilisateur PostgreSQL Secret
DATABASE_PASSWORD Votre mot de passe Secret
DATABASE_NAME postgres Variable

Étape 3 : Déploiement

  1. Clonez ce repository
  2. Ajoutez les secrets dans Hugging Face Spaces
  3. Poussez le Dockerfile vers votre Space
  4. Attendez la construction automatique

Le processus de build prend environ 3-5 minutes.

🔐 Considérations de sécurité

Configuration actuelle (Développement)

ENV NODE_TLS_REJECT_UNAUTHORIZED=0

⚠️ Attention : Cette configuration désactive la vérification stricte des certificats SSL. Elle est acceptable pour le développement mais non recommandée pour la production.

Configuration recommandée (Production)

Pour un environnement de production, modifiez le Dockerfile :

# Remplacer
ENV NODE_TLS_REJECT_UNAUTHORIZED=0

# Par
ENV PGSSLMODE=require
ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt

Authentification Flowise

Définissez des identifiants sécurisés dans le Dockerfile ou via les secrets :

ENV FLOWISE_USERNAME=admin
ENV FLOWISE_PASSWORD=[VOTRE_MOT_DE_PASSE_SECURISE]

Recommandations :

  • Utilisez un mot de passe fort (minimum 16 caractères)
  • Combinez majuscules, minuscules, chiffres et caractères spéciaux
  • Ne committez jamais les mots de passe dans le code source

📊 Variables d'environnement

Variables obligatoires

Variable Description Valeur par défaut
DATABASE_TYPE Type de base de données postgres
DATABASE_HOST Hôte de la base de données À définir
DATABASE_PORT Port de connexion 5432 ou 6543
DATABASE_USER Utilisateur PostgreSQL À définir
DATABASE_PASSWORD Mot de passe À définir
DATABASE_NAME Nom de la base postgres
PORT Port d'écoute de Flowise 7860

Variables optionnelles

Variable Description Valeur par défaut
FLOWISE_USERNAME Utilisateur admin admin
FLOWISE_PASSWORD Mot de passe admin admin123
LOG_LEVEL Niveau de journalisation info
EXECUTION_MODE Mode d'exécution main

🔍 Diagnostic et résolution de problèmes

Problème : "self-signed certificate in certificate chain"

Symptôme : Erreur SSL lors de la connexion à Supabase

Solution :

  1. Vérifiez que NODE_TLS_REJECT_UNAUTHORIZED=0 est défini
  2. Ou configurez SSL strictement avec PGSSLMODE=require

Problème : "Cannot read properties of undefined (reading 'initializeSSO')"

Symptôme : Échec d'initialisation après erreur de base de données

Solution :

  1. Vérifiez tous les identifiants de connexion
  2. Confirmez que la base de données est accessible
  3. Testez la connexion avec Transaction Pooler (port 6543)

Problème : L'application démarre mais n'est pas accessible

Symptôme : Build réussi mais Space inaccessible

Solution :

  1. Vérifiez que PORT=7860 est défini
  2. Confirmez la commande de démarrage : CMD ["npx", "flowise", "start", "--PORT=7860"]

Vérification des logs

Pour consulter les logs de votre Space :

  1. Accédez à votre Space sur Hugging Face
  2. Cliquez sur l'onglet Logs
  3. Recherchez les messages [INFO] et [ERROR]

Log de démarrage réussi :

🎉 [server]: All initialization steps completed successfully!
⚡️ [server]: Flowise Server is listening at :7860

📁 Structure du projet

.
├── Dockerfile              # Configuration Docker
├── README.md              # Documentation (ce fichier)
└── .gitignore             # Fichiers à ignorer

🛠️ Maintenance et mise à jour

Mise à jour de Flowise

Pour mettre à jour vers une version plus récente :

# Dans le Dockerfile, modifiez la commande d'installation
RUN npm install -g flowise@latest

Sauvegarde de la base de données

Supabase effectue des sauvegardes automatiques. Pour une sauvegarde manuelle :

  1. Accédez à votre projet Supabase
  2. Database > Backups
  3. Cliquez sur Create backup

📚 Ressources complémentaires

🤝 Contribution et support

Signalement de problèmes

Pour signaler un problème :

  1. Vérifiez que le problème n'est pas déjà documenté
  2. Collectez les logs pertinents
  3. Décrivez les étapes de reproduction

Bonnes pratiques

  • Sécurité : Ne committez jamais de secrets dans le code
  • Documentation : Documentez toutes les modifications
  • Tests : Testez localement avant déploiement en production
  • Versioning : Utilisez des tags git pour les versions stables

📄 Licence et conformité

Ce projet utilise Flowise sous licence Apache 2.0. Assurez-vous de respecter les termes de la licence lors de l'utilisation et de la distribution.

Considérations éthiques

  • Confidentialité : Ne stockez pas de données sensibles sans consentement
  • Transparence : Informez les utilisateurs sur l'utilisation des LLM
  • Responsabilité : Surveillez l'utilisation pour éviter les abus
  • Conformité : Respectez le RGPD et les réglementations locales

✅ Checklist de déploiement

  • Base de données Supabase configurée
  • Secrets ajoutés dans Hugging Face Spaces
  • Dockerfile testé localement (optionnel)
  • Variables d'environnement validées
  • SSL/TLS configuré correctement
  • Identifiants admin modifiés
  • Documentation à jour
  • Logs de démarrage vérifiés

Version : 1.0.0
Dernière mise à jour : Octobre 2025
Mainteneur : EnzGamers

Pour toute question ou assistance, consultez la documentation officielle ou contactez le support technique.