EnzGamers commited on
Commit
cc77df7
·
verified ·
1 Parent(s): 2df783f

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +251 -1
README.md CHANGED
@@ -9,4 +9,254 @@ license: mit
9
  short_description: Flowise ai With PostgresSQL (Supabase), Created By EnzGamers
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  short_description: Flowise ai With PostgresSQL (Supabase), Created By EnzGamers
10
  ---
11
 
12
+ # Flowise Deployment on Hugging Face Spaces
13
+
14
+ [![Deployment Status](https://img.shields.io/badge/status-active-success.svg)](https://huggingface.co/spaces)
15
+ [![Node Version](https://img.shields.io/badge/node-20--alpine-brightgreen.svg)](https://nodejs.org/)
16
+ [![Database](https://img.shields.io/badge/database-PostgreSQL-blue.svg)](https://www.postgresql.org/)
17
+
18
+ ## 📋 Objectif du projet
19
+
20
+ 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.
21
+
22
+ ## 🏗️ Architecture technique
23
+
24
+ ### Composants principaux
25
+
26
+ - **Application** : Flowise v3.0.7
27
+ - **Runtime** : Node.js 20 (Alpine Linux)
28
+ - **Base de données** : PostgreSQL (Supabase)
29
+ - **Plateforme** : Hugging Face Spaces
30
+ - **Port d'écoute** : 7860
31
+
32
+ ### Dépendances système
33
+
34
+ ```
35
+ - ca-certificates (gestion SSL/TLS)
36
+ - git (contrôle de version)
37
+ - python3, py3-pip (scripts auxiliaires)
38
+ - make, g++, build-base (compilation native)
39
+ - cairo-dev, pango-dev (rendu graphique)
40
+ - chromium (automatisation web via Puppeteer)
41
+ ```
42
+
43
+ ## 🚀 Guide de déploiement
44
+
45
+ ### Prérequis
46
+
47
+ 1. **Compte Hugging Face** avec accès aux Spaces
48
+ 2. **Base de données Supabase** configurée
49
+ 3. **Accès git** au repository
50
+
51
+ ### Étape 1 : Configuration de la base de données
52
+
53
+ #### Récupération des identifiants Supabase
54
+
55
+ 1. Accédez à votre projet Supabase
56
+ 2. Naviguez vers **Project Settings > Database**
57
+ 3. Dans la section **Connection string**, sélectionnez **Transaction Pooler**
58
+ 4. Notez les informations de connexion (host, port, user, password, database)
59
+
60
+ ### Étape 2 : Configuration des secrets Hugging Face
61
+
62
+ Dans votre Space, allez à **Settings > Variables and secrets** et ajoutez :
63
+
64
+ | Variable | Valeur | Type |
65
+ |----------|---------|------|
66
+ | `DATABASE_HOST` | Votre hôte Supabase | Secret |
67
+ | `DATABASE_PORT` | `6543` (Pooler) ou `5432` (Direct) | Variable |
68
+ | `DATABASE_USER` | Votre utilisateur PostgreSQL | Secret |
69
+ | `DATABASE_PASSWORD` | Votre mot de passe | Secret |
70
+ | `DATABASE_NAME` | `postgres` | Variable |
71
+
72
+ ### Étape 3 : Déploiement
73
+
74
+ 1. **Clonez** ce repository
75
+ 2. **Ajoutez** les secrets dans Hugging Face Spaces
76
+ 3. **Poussez** le Dockerfile vers votre Space
77
+ 4. **Attendez** la construction automatique
78
+
79
+ Le processus de build prend environ 3-5 minutes.
80
+
81
+ ## 🔐 Considérations de sécurité
82
+
83
+ ### Configuration actuelle (Développement)
84
+
85
+ ```dockerfile
86
+ ENV NODE_TLS_REJECT_UNAUTHORIZED=0
87
+ ```
88
+
89
+ ⚠️ **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**.
90
+
91
+ ### Configuration recommandée (Production)
92
+
93
+ Pour un environnement de production, modifiez le Dockerfile :
94
+
95
+ ```dockerfile
96
+ # Remplacer
97
+ ENV NODE_TLS_REJECT_UNAUTHORIZED=0
98
+
99
+ # Par
100
+ ENV PGSSLMODE=require
101
+ ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
102
+ ```
103
+
104
+ ### Authentification Flowise
105
+
106
+ Définissez des identifiants sécurisés dans le Dockerfile ou via les secrets :
107
+
108
+ ```dockerfile
109
+ ENV FLOWISE_USERNAME=admin
110
+ ENV FLOWISE_PASSWORD=[VOTRE_MOT_DE_PASSE_SECURISE]
111
+ ```
112
+
113
+ **Recommandations** :
114
+ - Utilisez un mot de passe fort (minimum 16 caractères)
115
+ - Combinez majuscules, minuscules, chiffres et caractères spéciaux
116
+ - Ne committez jamais les mots de passe dans le code source
117
+
118
+ ## 📊 Variables d'environnement
119
+
120
+ ### Variables obligatoires
121
+
122
+ | Variable | Description | Valeur par défaut |
123
+ |----------|-------------|-------------------|
124
+ | `DATABASE_TYPE` | Type de base de données | `postgres` |
125
+ | `DATABASE_HOST` | Hôte de la base de données | À définir |
126
+ | `DATABASE_PORT` | Port de connexion | `5432` ou `6543` |
127
+ | `DATABASE_USER` | Utilisateur PostgreSQL | À définir |
128
+ | `DATABASE_PASSWORD` | Mot de passe | À définir |
129
+ | `DATABASE_NAME` | Nom de la base | `postgres` |
130
+ | `PORT` | Port d'écoute de Flowise | `7860` |
131
+
132
+ ### Variables optionnelles
133
+
134
+ | Variable | Description | Valeur par défaut |
135
+ |----------|-------------|-------------------|
136
+ | `FLOWISE_USERNAME` | Utilisateur admin | `admin` |
137
+ | `FLOWISE_PASSWORD` | Mot de passe admin | `admin123` |
138
+ | `LOG_LEVEL` | Niveau de journalisation | `info` |
139
+ | `EXECUTION_MODE` | Mode d'exécution | `main` |
140
+
141
+ ## 🔍 Diagnostic et résolution de problèmes
142
+
143
+ ### Problème : "self-signed certificate in certificate chain"
144
+
145
+ **Symptôme** : Erreur SSL lors de la connexion à Supabase
146
+
147
+ **Solution** :
148
+ 1. Vérifiez que `NODE_TLS_REJECT_UNAUTHORIZED=0` est défini
149
+ 2. Ou configurez SSL strictement avec `PGSSLMODE=require`
150
+
151
+ ### Problème : "Cannot read properties of undefined (reading 'initializeSSO')"
152
+
153
+ **Symptôme** : Échec d'initialisation après erreur de base de données
154
+
155
+ **Solution** :
156
+ 1. Vérifiez tous les identifiants de connexion
157
+ 2. Confirmez que la base de données est accessible
158
+ 3. Testez la connexion avec Transaction Pooler (port 6543)
159
+
160
+ ### Problème : L'application démarre mais n'est pas accessible
161
+
162
+ **Symptôme** : Build réussi mais Space inaccessible
163
+
164
+ **Solution** :
165
+ 1. Vérifiez que `PORT=7860` est défini
166
+ 2. Confirmez la commande de démarrage : `CMD ["npx", "flowise", "start", "--PORT=7860"]`
167
+
168
+ ### Vérification des logs
169
+
170
+ Pour consulter les logs de votre Space :
171
+
172
+ 1. Accédez à votre Space sur Hugging Face
173
+ 2. Cliquez sur l'onglet **Logs**
174
+ 3. Recherchez les messages `[INFO]` et `[ERROR]`
175
+
176
+ Log de démarrage réussi :
177
+ ```
178
+ 🎉 [server]: All initialization steps completed successfully!
179
+ ⚡️ [server]: Flowise Server is listening at :7860
180
+ ```
181
+
182
+ ## 📁 Structure du projet
183
+
184
+ ```
185
+ .
186
+ ├── Dockerfile # Configuration Docker
187
+ ├── README.md # Documentation (ce fichier)
188
+ └── .gitignore # Fichiers à ignorer
189
+ ```
190
+
191
+ ## 🛠️ Maintenance et mise à jour
192
+
193
+ ### Mise à jour de Flowise
194
+
195
+ Pour mettre à jour vers une version plus récente :
196
+
197
+ ```dockerfile
198
+ # Dans le Dockerfile, modifiez la commande d'installation
199
+ RUN npm install -g flowise@latest
200
+ ```
201
+
202
+ ### Sauvegarde de la base de données
203
+
204
+ Supabase effectue des sauvegardes automatiques. Pour une sauvegarde manuelle :
205
+
206
+ 1. Accédez à votre projet Supabase
207
+ 2. **Database > Backups**
208
+ 3. Cliquez sur **Create backup**
209
+
210
+ ## 📚 Ressources complémentaires
211
+
212
+ - [Documentation Flowise officielle](https://docs.flowiseai.com/)
213
+ - [Documentation Supabase](https://supabase.com/docs)
214
+ - [Guide Hugging Face Spaces](https://huggingface.co/docs/hub/spaces-overview)
215
+ - [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
216
+
217
+ ## 🤝 Contribution et support
218
+
219
+ ### Signalement de problèmes
220
+
221
+ Pour signaler un problème :
222
+
223
+ 1. Vérifiez que le problème n'est pas déjà documenté
224
+ 2. Collectez les logs pertinents
225
+ 3. Décrivez les étapes de reproduction
226
+
227
+ ### Bonnes pratiques
228
+
229
+ - **Sécurité** : Ne committez jamais de secrets dans le code
230
+ - **Documentation** : Documentez toutes les modifications
231
+ - **Tests** : Testez localement avant déploiement en production
232
+ - **Versioning** : Utilisez des tags git pour les versions stables
233
+
234
+ ## 📄 Licence et conformité
235
+
236
+ 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.
237
+
238
+ ### Considérations éthiques
239
+
240
+ - **Confidentialité** : Ne stockez pas de données sensibles sans consentement
241
+ - **Transparence** : Informez les utilisateurs sur l'utilisation des LLM
242
+ - **Responsabilité** : Surveillez l'utilisation pour éviter les abus
243
+ - **Conformité** : Respectez le RGPD et les réglementations locales
244
+
245
+ ## ✅ Checklist de déploiement
246
+
247
+ - [ ] Base de données Supabase configurée
248
+ - [ ] Secrets ajoutés dans Hugging Face Spaces
249
+ - [ ] Dockerfile testé localement (optionnel)
250
+ - [ ] Variables d'environnement validées
251
+ - [ ] SSL/TLS configuré correctement
252
+ - [ ] Identifiants admin modifiés
253
+ - [ ] Documentation à jour
254
+ - [ ] Logs de démarrage vérifiés
255
+
256
+ ---
257
+
258
+ **Version** : 1.0.0
259
+ **Dernière mise à jour** : Octobre 2025
260
+ **Mainteneur** : EnzGamers
261
+
262
+ Pour toute question ou assistance, consultez la documentation officielle ou contactez le support technique.