Spaces:
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
📋 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
- Compte Hugging Face avec accès aux Spaces
- Base de données Supabase configurée
- Accès git au repository
Étape 1 : Configuration de la base de données
Récupération des identifiants Supabase
- Accédez à votre projet Supabase
- Naviguez vers Project Settings > Database
- Dans la section Connection string, sélectionnez Transaction Pooler
- 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
- Clonez ce repository
- Ajoutez les secrets dans Hugging Face Spaces
- Poussez le Dockerfile vers votre Space
- 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 :
- Vérifiez que
NODE_TLS_REJECT_UNAUTHORIZED=0est défini - 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 :
- Vérifiez tous les identifiants de connexion
- Confirmez que la base de données est accessible
- 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 :
- Vérifiez que
PORT=7860est défini - Confirmez la commande de démarrage :
CMD ["npx", "flowise", "start", "--PORT=7860"]
Vérification des logs
Pour consulter les logs de votre Space :
- Accédez à votre Space sur Hugging Face
- Cliquez sur l'onglet Logs
- 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 :
- Accédez à votre projet Supabase
- Database > Backups
- Cliquez sur Create backup
📚 Ressources complémentaires
- Documentation Flowise officielle
- Documentation Supabase
- Guide Hugging Face Spaces
- Node.js Best Practices
🤝 Contribution et support
Signalement de problèmes
Pour signaler un problème :
- Vérifiez que le problème n'est pas déjà documenté
- Collectez les logs pertinents
- 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.