FROM node:18-alpine USER root # Arguments that can be passed at build time ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise ENV BASE_PATH=/data/.flowise ENV DATABASE_PATH=$BASE_PATH ENV APIKEY_PATH=$BASE_PATH ENV SECRETKEY_PATH=$BASE_PATH ARG LOG_PATH=$BASE_PATH/logs # 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, pinning a dependency to fix runtime issues RUN npm install -g flowise@"^1.4.2" "@gomomento/sdk@<1.50.0" # Configure Flowise directories using the ARG RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH RUN mkdir -p $DATABASE_PATH && chmod -R 777 $DATABASE_PATH WORKDIR /data # configuration for deploying on huggingface ENV PORT=7860 CMD ["npx", "flowise", "start"]