Spaces:
Running
Running
FROM node:20-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 FLOWISE_USERNAME | |
ARG FLOWISE_PASSWORD | |
# Set environment variables | |
ENV PUPPETEER_SKIP_DOWNLOAD=true | |
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser | |
ENV DISABLE_FLOWISE_TELEMETRY=true | |
ENV NODE_ENV=production | |
# Install dependencies | |
RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium | |
# Clean npm cache and install the latest Flowise globally | |
RUN npm cache clean --force && \ | |
npm install -g npm@latest && \ | |
npm install -g flowise@latest | |
# Configure Flowise directories | |
RUN mkdir -p $LOG_PATH $DATABASE_PATH $APIKEY_PATH $SECRETKEY_PATH $FLOWISE_PATH/uploads | |
RUN chmod -R 777 $LOG_PATH $DATABASE_PATH $APIKEY_PATH $SECRETKEY_PATH $FLOWISE_PATH | |
# Set working directory | |
WORKDIR /data | |
# Expose default Flowise port | |
EXPOSE 3000 | |
# Start Flowise | |
CMD ["npx", "flowise", "start"] | |