FROM node:20-alpine USER root RUN apk add --update libc6-compat python3 make g++ # needed for pdfjs-dist RUN apk add --no-cache build-base cairo-dev pango-dev # Install Chromium RUN apk add --no-cache chromium # Arguments that can be passed at build time ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise ARG BASE_PATH=/root/.flowise ARG APIKEY_PATH=$BASE_PATH ARG SECRETKEY_PATH=$BASE_PATH ARG LOG_PATH=$BASE_PATH/logs ARG BLOB_STORAGE_PATH=$BASE_PATH/storage ARG OVERRIDE_DATABASE=false ENV PUPPETEER_SKIP_DOWNLOAD=false #ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser ENV NODE_OPTIONS=--max-old-space-size=8192 # Install Flowise globally RUN npm install -g flowise@2.1.4 # Add Supabase library RUN npm install -g @supabase/supabase-js #RUN npm install -g puppeteer # Configure Flowise directories using the ARG RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH WORKDIR /data EXPOSE 3000 CMD ["npx", "flowise", "start"]