kivilaid commited on
Commit
7d43440
·
verified ·
1 Parent(s): 8f73f4c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -43
Dockerfile CHANGED
@@ -2,54 +2,32 @@ FROM node:20-alpine
2
 
3
  USER root
4
 
5
- # Set environment variables
6
- ENV PORT=8080
7
- ENV HOST=0.0.0.0
8
- ENV BASE_PATH=/data/.flowise
9
- ENV DATABASE_PATH=/data/.flowise
10
- ENV APIKEY_PATH=/data/.flowise
11
- ENV SECRETKEY_PATH=/data/.flowise
12
- ENV LOG_PATH=/data/.flowise/logs
13
- ENV BLOB_STORAGE_PATH=/data/.flowise/storage
 
 
 
 
 
 
14
 
15
  # Install dependencies
16
- RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium curl
17
 
18
  ENV PUPPETEER_SKIP_DOWNLOAD=true
19
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
20
- ENV NODE_OPTIONS=--max-old-space-size=4096
21
 
22
- # Set working directory
23
- WORKDIR /app
24
 
25
- # Clone your specific repository
26
- RUN git clone https://github.com/kivilaid/Flowise.git .
27
 
28
- # Install pnpm
29
- RUN npm install -g pnpm
30
-
31
- # Fix lockfile issues by removing it and letting pnpm generate a new one
32
- RUN rm -f pnpm-lock.yaml
33
-
34
- # Install dependencies without lockfile
35
- RUN pnpm install --no-frozen-lockfile
36
-
37
- # Build project
38
- RUN pnpm build
39
-
40
- # Create necessary directories
41
- RUN mkdir -p /data/.flowise/logs /data/.flowise/storage
42
- RUN chmod -R 777 /data/.flowise
43
-
44
- # Set server bin as executable
45
- RUN chmod +x /app/packages/server/bin/run
46
-
47
- # Expose port for Hugging Face
48
- EXPOSE 8080
49
-
50
- # Health check
51
- HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \
52
- CMD curl -f http://localhost:8080/ || exit 1
53
-
54
- # Start command
55
- CMD ["sh", "-c", "cd /app/packages/server/bin && ./run start"]
 
2
 
3
  USER root
4
 
5
+ # Arguments that can be passed at build time
6
+ ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise
7
+ ARG BASE_PATH=/data/.flowise
8
+ ARG DATABASE_PATH=$BASE_PATH
9
+ ARG APIKEY_PATH=$BASE_PATH
10
+ ARG SECRETKEY_PATH=$BASE_PATH
11
+ ARG LOG_PATH=$BASE_PATH/logs
12
+
13
+ # Set the ARGs as ENV
14
+ ENV FLOWISE_PATH=$FLOWISE_PATH
15
+ ENV BASE_PATH=$BASE_PATH
16
+ ENV DATABASE_PATH=$DATABASE_PATH
17
+ ENV APIKEY_PATH=$APIKEY_PATH
18
+ ENV SECRETKEY_PATH=$SECRETKEY_PATH
19
+ ENV LOG_PATH=$LOG_PATH
20
 
21
  # Install dependencies
22
+ RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium
23
 
24
  ENV PUPPETEER_SKIP_DOWNLOAD=true
25
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
 
26
 
27
+ # Install Flowise globally
28
+ RUN npm install -g flowise
29
 
30
+ # # Configure Flowise directories using the ARG
31
+ RUN mkdir -p $FLOWISE_PATH/uploads && chmod -R 777 $FLOWISE_PATH
32
 
33
+ CMD ["sh", "-c", "mkdir -p $LOG_PATH && chmod -R 777 $LOG_PATH && npx flowise start"]