forked from FlowiseAI/Flowise
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improvement - Reduce size of final docker image with multistage build (…
…FlowiseAI#2598) * Reduce size of final docker image with multistage build * Dockerfile - Move PUPPETEER_SKIP_DOWNLOAD flag to build stage
- Loading branch information
1 parent
c8939dc
commit be3a887
Showing
1 changed file
with
16 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,25 @@ | ||
FROM node:20-alpine | ||
# Stage 1: Build stage | ||
FROM node:20-alpine as build | ||
|
||
USER root | ||
|
||
RUN apk add --no-cache git | ||
RUN apk add --no-cache python3 py3-pip 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 | ||
|
||
# Skip downloading Chrome for Puppeteer (saves build time) | ||
ENV PUPPETEER_SKIP_DOWNLOAD=true | ||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser | ||
|
||
# You can install a specific version like: flowise@1.0.0 | ||
# Install latest Flowise globally (specific version can be set: flowise@1.0.0) | ||
RUN npm install -g flowise | ||
|
||
WORKDIR /data | ||
# Stage 2: Runtime stage | ||
FROM node:20-alpine | ||
|
||
# Install runtime dependencies | ||
RUN apk add --no-cache chromium git python3 py3-pip make g++ build-base cairo-dev pango-dev | ||
|
||
# Set the environment variable for Puppeteer to find Chromium | ||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser | ||
|
||
# Copy Flowise from the build stage | ||
COPY --from=build /usr/local/lib/node_modules /usr/local/lib/node_modules | ||
COPY --from=build /usr/local/bin /usr/local/bin | ||
|
||
ENTRYPOINT ["flowise", "start"] |