# Utiliser une image Node.js LTS plus récente pour la compatibilité des dépendances FROM node:20-alpine # Définir l'utilisateur root pour les permissions USER root # Arguments pouvant être passés lors de la construction ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise ARG BASE_PATH=/root/.flowise ARG DATABASE_PATH=${BASE_PATH} ARG SECRETKEY_PATH=${BASE_PATH} ARG LOG_PATH=${BASE_PATH}/logs ARG BLOB_STORAGE_PATH=${BASE_PATH}/storage # Installer les dépendances système, y compris les certificats CA pour les connexions SSL RUN apk add --no-cache ca-certificates git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium # Mettre à jour les certificats CA RUN update-ca-certificates # Variables d'environnement pour Puppeteer ENV PUPPETEER_SKIP_DOWNLOAD=true ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser # Installer Flowise globalement RUN npm install -g flowise@3.0.10 # Configurer les répertoires de Flowise en utilisant les ARG RUN mkdir -p ${LOG_PATH} ${FLOWISE_PATH}/uploads && \ chmod -R 777 ${LOG_PATH} ${FLOWISE_PATH} # --- Variables d'environnement pour la base de données Supabase --- ENV DATABASE_TYPE=postgres # Remplacer cette ligne ENV NODE_TLS_REJECT_UNAUTHORIZED=$NODE_TLS_REJECT_UNAUTHORIZED # Par ces lignes ENV PGSSLMODE=require ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt # Variables de connexion (à définir dans les Secrets Hugging Face Space) ENV DATABASE_HOST="" ENV DATABASE_PORT="5432" ENV DATABASE_USER="" ENV DATABASE_PASSWORD="" ENV DATABASE_NAME="postgres" # CRITIQUE: Définir le port pour Hugging Face Spaces ENV PORT=7860 ENV FLOWISE_USERNAME=$FLOWISE_USERNAME ENV FLOWISE_PASSWORD=$FLOWISE_PASSWORD # --- Secret Key Flowise ---- ENV FLOWISE_SECRETKEY_OVERWRITE=$FLOWISE_SECRETKEY_OVERWRITE # Définir le répertoire de travail WORKDIR /data # Exposer le port pour Hugging Face Spaces EXPOSE 7860 # Commande pour démarrer Flowise sur le port 7860 CMD ["npx", "flowise", "start", "--PORT=7860"]