Spaces:
Running
Running
| 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 | |
| [](https://huggingface.co/spaces) | |
| [](https://nodejs.org/) | |
| [](https://www.postgresql.org/) | |
| ## 📋 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) | |
| ```dockerfile | |
| 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 : | |
| ```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 : | |
| ```dockerfile | |
| 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 : | |
| ```dockerfile | |
| # 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 | |
| - [Documentation Flowise officielle](https://docs.flowiseai.com/) | |
| - [Documentation Supabase](https://supabase.com/docs) | |
| - [Guide Hugging Face Spaces](https://huggingface.co/docs/hub/spaces-overview) | |
| - [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices) | |
| ## 🤝 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. |