FROM node:18-alpine USER root # Arguments that can be passed at build time ARG IMAGE_NAME=maxio-aibot ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise ARG BASE_PATH=/data/.flowise ARG DATABASE_PATH=$BASE_PATH ARG APIKEY_PATH=$BASE_PATH ARG 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 ENV OVERRIDE_DATABASE=false ENV NPM_CONFIG_DATA=$BASE_PATH/data # Install Flowise globally RUN npm install -g flowise@1.6.5 # create volume VOLUME ["/data"] # Configure Flowise directories using the ARG RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH # Configure NPM directories RUN mkdir -p $NPM_CONFIG_DATA && chmod -R 777 $NPM_CONFIG_DATA # RUN npm config set data $NPM_CONFIG_DATA WORKDIR /data CMD ["sh", "-c", "pwd && ls -al /data/* && npx flowise start"]