Spaces:
Runtime error
Runtime error
| # Use Node 20 for better Web API support | |
| FROM node:20-alpine | |
| USER root | |
| ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise | |
| ARG BASE_PATH=/data/flowise # <--- USE /data instead of /root/.flowise | |
| ARG LOG_PATH=$BASE_PATH/logs | |
| ARG UPLOADS_PATH=$BASE_PATH/uploads | |
| ARG STORAGE_PATH=$BASE_PATH/storage | |
| # Install dependencies | |
| RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium | |
| ENV PUPPETEER_SKIP_DOWNLOAD=true | |
| ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser | |
| # Install Flowise globally | |
| RUN npm install -g flowise | |
| # Prepare writable directories under /data | |
| RUN mkdir -p $LOG_PATH $UPLOADS_PATH $STORAGE_PATH \ | |
| && chmod -R 777 $BASE_PATH | |
| WORKDIR /app | |
| # Install formdata-node locally | |
| RUN npm init -y && npm install formdata-node | |
| # Add polyfill for global.File | |
| RUN echo "import { File } from 'formdata-node'; if (!global.File) { global.File = File; console.log('Polyfilled global.File'); }" > polyfill.mjs | |
| # Hugging Face sets PORT dynamically | |
| ENV PORT=${PORT:-7860} | |
| ENV DATABASE_PATH=$BASE_PATH/flowise.db | |
| ENV LOG_PATH=$LOG_PATH | |
| ENV BLOB_STORAGE_PATH=$STORAGE_PATH | |
| EXPOSE $PORT | |
| # Start Flowise and make it use our /data paths | |
| CMD ["sh", "-c", "node --require /app/polyfill.mjs /usr/local/lib/node_modules/flowise/dist/index.js --PORT=$PORT --DATABASE_PATH=$DATABASE_PATH --LOG_PATH=$LOG_PATH --BLOB_STORAGE_PATH=$BLOB_STORAGE_PATH --UPLOADS_PATH=$UPLOADS_PATH"] | |