FROM node:18-alpine USER root # Arguments that can be passed at build time ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise ARG BASE_PATH=/root/.flowise ARG DATABASE_PATH=$BASE_PATH ARG APIKEY_PATH=$BASE_PATH ARG SECRETKEY_PATH=$BASE_PATH ARG LOG_PATH=$BASE_PATH/logs ARG BLOB_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 # Configure Flowise directories using the ARG RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH # Set Flowise username and password ENV FLOWISE_USERNAME=${FLOWISE_USERNAME} ENV FLOWISE_PASSWORD=${FLOWISE_PASSWORD} ENV DATABASE_TYPE=${DATABASE_TYPE} ENV DATABASE_PORT=${DATABASE_PORT} ENV DATABASE_HOST=${DATABASE_HOST} ENV DATABASE_NAME=${DATABASE_NAME} ENV DATABASE_USER=${DATABASE_USER} ENV DATABASE_PASSWORD=${DATABASE_PASSWORD} ENV DATABASE_SSL=${DATABASE_SSL} ENV NODE_TLS_REJECT_UNAUTHORIZED=0 ENV DEBUG=flowise:* ENV LOG_LEVEL=debug WORKDIR /data CMD ["npx", "flowise", "start"]