rickysk commited on
Commit
abdcc39
·
verified ·
1 Parent(s): 46f18d1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -36
Dockerfile CHANGED
@@ -1,57 +1,63 @@
1
  # ---------- Base image -----------------------------------------------------
2
  FROM node:18-slim
 
3
  # ---------- OS packages ----------------------------------------------------
4
  RUN apt-get update && apt-get install -y \
5
- git python3 python3-pip build-essential \
6
- libcairo2-dev libpango1.0-dev chromium curl \
7
- && apt-get clean && rm -rf /var/lib/apt/lists/*
 
8
  # ---------- Environment ----------------------------------------------------
9
  ENV PUPPETEER_SKIP_DOWNLOAD=true \
10
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
11
- CHROMA_SERVER_CORS_ALLOW_ORIGINS='["*"]' \
12
- PORT=7860 \
13
- FLOWISE_USERNAME=admin \
14
- FLOWISE_PASSWORD=admin \
15
- DATABASE_PATH=/data/.flowise \
16
- LOG_PATH=/data/.flowise/logs \
17
- TEMP_UPLOAD_DIR=/data/uploads \
18
- CHROMA_URL=http://localhost:8000
19
  # ---------- Node & Python deps --------------------------------------------
20
  RUN npm install -g flowise@3.0.0
 
21
  # Chroma server 1.x (compatible with Flowise v2 API)
22
  RUN pip3 install numpy==1.26.4 --break-system-packages \
23
- && pip3 install chromadb==1.0.9 --break-system-packages # provides `chroma` CLI v2
 
24
  # ---------- Prevent Flowise early-log crash -------------------------------
25
  RUN mkdir -p /usr/local/lib/node_modules/flowise/logs \
26
- && chmod -R 777 /usr/local/lib/node_modules/flowise
 
27
  # ---------- Persistent data directories -----------------------------------
28
  WORKDIR /data
29
  RUN mkdir -p /data/.flowise/logs /data/.flowise/storage /data/uploads /data/chroma \
30
- && chmod -R 777 /data \
31
- && chown -R 1000:1000 /data
32
  ENV PATH=$PATH:/home/node/.local/bin:/usr/local/bin:/root/.local/bin
33
  USER 1000:1000
 
34
  # ---------- Expose ports ---------------------------------------------------
35
  EXPOSE 7860 8000
 
36
  # ---------- Start: Chroma ➜ wait ➜ Flowise ---------------------------------
37
  CMD sh -c 'set -x; \
38
- chroma run \
39
- --path /data/chroma \
40
- --host 0.0.0.0 \
41
- --port 8000 \
42
- & \
43
- echo "--- Waiting for Chroma API ---"; \
44
- while ! curl -v http://localhost:8000/api/v2/heartbeat; do \
45
- echo "[DEBUG] Chroma not ready yet. Retrying..."; \
46
- netstat -tulnp || ss -tulnp || true; \
47
- sleep 1; \
48
- done; \
49
- echo "--- Chroma API is up ---"; \
50
- echo "[DEBUG] Testing Chroma collections endpoint:"; \
51
- curl -v http://localhost:8000/api/v2/collections || true; \
52
- echo "[DEBUG] Environment variables:"; \
53
- printenv | grep CHROMA || true; \
54
- echo "[DEBUG] Process list:"; \
55
- ps aux; \
56
- echo "[DEBUG] Flowise will start now."; \
57
- npx flowise start'
 
1
  # ---------- Base image -----------------------------------------------------
2
  FROM node:18-slim
3
+
4
  # ---------- OS packages ----------------------------------------------------
5
  RUN apt-get update && apt-get install -y \
6
+ git python3 python3-pip build-essential \
7
+ libcairo2-dev libpango1.0-dev chromium curl \
8
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
9
+
10
  # ---------- Environment ----------------------------------------------------
11
  ENV PUPPETEER_SKIP_DOWNLOAD=true \
12
+ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
13
+ CHROMA_SERVER_CORS_ALLOW_ORIGINS='["*"]' \
14
+ PORT=7860 \
15
+ DATABASE_PATH=/data/.flowise \
16
+ LOG_PATH=/data/.flowise/logs \
17
+ TEMP_UPLOAD_DIR=/data/uploads \
18
+ CHROMA_URL=http://localhost:8000
19
+
 
20
  # ---------- Node & Python deps --------------------------------------------
21
  RUN npm install -g flowise@3.0.0
22
+
23
  # Chroma server 1.x (compatible with Flowise v2 API)
24
  RUN pip3 install numpy==1.26.4 --break-system-packages \
25
+ && pip3 install chromadb==1.0.9 --break-system-packages # provides `chroma` CLI v2
26
+
27
  # ---------- Prevent Flowise early-log crash -------------------------------
28
  RUN mkdir -p /usr/local/lib/node_modules/flowise/logs \
29
+ && chmod -R 777 /usr/local/lib/node_modules/flowise
30
+
31
  # ---------- Persistent data directories -----------------------------------
32
  WORKDIR /data
33
  RUN mkdir -p /data/.flowise/logs /data/.flowise/storage /data/uploads /data/chroma \
34
+ && chmod -R 777 /data \
35
+ && chown -R 1000:1000 /data
36
  ENV PATH=$PATH:/home/node/.local/bin:/usr/local/bin:/root/.local/bin
37
  USER 1000:1000
38
+
39
  # ---------- Expose ports ---------------------------------------------------
40
  EXPOSE 7860 8000
41
+
42
  # ---------- Start: Chroma ➜ wait ➜ Flowise ---------------------------------
43
  CMD sh -c 'set -x; \
44
+ chroma run \
45
+ --path /data/chroma \
46
+ --host 0.0.0.0 \
47
+ --port 8000 \
48
+ & \
49
+ echo "--- Waiting for Chroma API ---"; \
50
+ while ! curl -v http://localhost:8000/api/v2/heartbeat; do \
51
+ echo "[DEBUG] Chroma not ready yet. Retrying..."; \
52
+ netstat -tulnp || ss -tulnp || true; \
53
+ sleep 1; \
54
+ done; \
55
+ echo "--- Chroma API is up ---"; \
56
+ echo "[DEBUG] Testing Chroma collections endpoint:"; \
57
+ curl -v http://localhost:8000/api/v2/collections || true; \
58
+ echo "[DEBUG] Environment variables:"; \
59
+ printenv | grep CHROMA || true; \
60
+ echo "[DEBUG] Process list:"; \
61
+ ps aux; \
62
+ echo "[DEBUG] Flowise will start now."; \
63
+ npx flowise start'