Flowise / README.md
EnzGamers's picture
Update README.md
cc77df7 verified
---
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](https://img.shields.io/badge/status-active-success.svg)](https://huggingface.co/spaces)
[![Node Version](https://img.shields.io/badge/node-20--alpine-brightgreen.svg)](https://nodejs.org/)
[![Database](https://img.shields.io/badge/database-PostgreSQL-blue.svg)](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.