aag2179 commited on
Commit
e81cbda
·
verified ·
1 Parent(s): 90257e2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -18
Dockerfile CHANGED
@@ -1,26 +1,25 @@
1
- FROM node:18-alpine
2
- USER root
3
-
4
- # Arguments that can be passed at build time
5
- ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise
6
- ARG BASE_PATH=/root/.flowise
7
- ARG DATABASE_PATH=$BASE_PATH
8
- ARG SECRETKEY_PATH=$BASE_PATH
9
- ARG LOG_PATH=$BASE_PATH/logs
10
- ARG BLOB_STORAGE_PATH=$BASE_PATH/storage
11
 
12
- # Install dependencies
13
- RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium
14
 
 
15
  ENV PUPPETEER_SKIP_DOWNLOAD=true
16
- ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
17
 
18
- # Install Flowise globally
19
  RUN npm install -g flowise
20
 
21
- # Configure Flowise directories using the ARG
22
- RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH
 
 
 
 
 
 
23
 
24
- WORKDIR /data
 
 
25
 
26
- CMD ["npx", "flowise", "start"]
 
1
+ # Stage 1: Build stage
2
+ FROM node:20-alpine AS build
 
 
 
 
 
 
 
 
3
 
4
+ USER root
 
5
 
6
+ # Skip downloading Chrome for Puppeteer (saves build time)
7
  ENV PUPPETEER_SKIP_DOWNLOAD=true
 
8
 
9
+ # Install latest Flowise globally (specific version can be set: flowise@1.0.0)
10
  RUN npm install -g flowise
11
 
12
+ # Stage 2: Runtime stage
13
+ FROM node:20-alpine
14
+
15
+ # Install runtime dependencies
16
+ RUN apk add --no-cache chromium git python3 py3-pip make g++ build-base cairo-dev pango-dev curl
17
+
18
+ # Set the environment variable for Puppeteer to find Chromium
19
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
20
 
21
+ # Copy Flowise from the build stage
22
+ COPY --from=build /usr/local/lib/node_modules /usr/local/lib/node_modules
23
+ COPY --from=build /usr/local/bin /usr/local/bin
24
 
25
+ ENTRYPOINT ["flowise", "start"]