47 lines
970 B
Docker
47 lines
970 B
Docker
# Build local monorepo image
|
|
# docker build --no-cache -t flowise .
|
|
|
|
# Run image
|
|
# docker run -d -p 3000:3000 flowise
|
|
|
|
FROM node:20-alpine
|
|
|
|
# Install system dependencies and build tools
|
|
RUN apk update && \
|
|
apk add --no-cache \
|
|
libc6-compat \
|
|
python3 \
|
|
make \
|
|
g++ \
|
|
build-base \
|
|
cairo-dev \
|
|
pango-dev \
|
|
chromium \
|
|
curl && \
|
|
npm install -g pnpm
|
|
|
|
ENV PUPPETEER_SKIP_DOWNLOAD=true
|
|
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
|
|
|
ENV NODE_OPTIONS=--max-old-space-size=8192
|
|
|
|
WORKDIR /usr/src/flowise
|
|
|
|
# Copy app source
|
|
COPY . .
|
|
|
|
# Install dependencies and build
|
|
RUN pnpm install && \
|
|
pnpm build
|
|
|
|
# Give the node user ownership of the application files
|
|
RUN chown -R node:node . && \
|
|
mkdir -p /home/node/.flowise && \
|
|
chown -R node:node /home/node/.flowise
|
|
|
|
# Switch to non-root user (node user already exists in node:20-alpine)
|
|
USER node
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD [ "pnpm", "start" ] |