File size: 2,066 Bytes
f7848bb 361f2f2 f7848bb 2846e91 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# ---------- Base image -----------------------------------------------------
FROM node:18-slim
# ---------- OS packages ----------------------------------------------------
RUN apt-get update && apt-get install -y \
git python3 python3-pip build-essential \
libcairo2-dev libpango1.0-dev chromium curl \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# ---------- Environment ----------------------------------------------------
ENV PUPPETEER_SKIP_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
CHROMA_SERVER_CORS_ALLOW_ORIGINS='["*"]' \
PORT=7860 \
DATABASE_PATH=/data/.flowise \
LOG_PATH=/data/.flowise/logs \
TEMP_UPLOAD_DIR=/data/uploads \
CHROMA_URL=http://localhost:8000 \
FLOWISE_SECRETKEY_OVERWRITE=DxtmSQYcXBKrmpdcKDqEPKfuSwXQhnTa \
PASSPHRASE=my-super-secret-pass \
SECRETKEY_PATH=/data/.flowise \
APIKEY_PATH=/data/.flowise
# ---------- Node & Python deps --------------------------------------------
RUN npm install -g flowise@3.0.0
RUN pip3 install numpy==1.26.4 --break-system-packages \
&& pip3 install chromadb==1.0.9 --break-system-packages # provides `chroma` CLI v2
# ---------- Prevent Flowise early-log crash -------------------------------
RUN mkdir -p /usr/local/lib/node_modules/flowise/logs \
&& chmod -R 777 /usr/local/lib/node_modules/flowise
# ---------- Persistent data directories -----------------------------------
WORKDIR /data
RUN mkdir -p /data/.flowise/logs /data/.flowise/storage /data/uploads /data/chroma \
&& chmod -R 777 /data \
&& chown -R 1000:1000 /data
# ---------- Copy and set startup script -----------------------------------
COPY start.sh /start.sh
RUN chmod +x /start.sh
# ---------- Final env + permissions ---------------------------------------
ENV PATH=$PATH:/home/node/.local/bin:/usr/local/bin:/root/.local/bin
USER 1000:1000
# ---------- Expose ports ---------------------------------------------------
EXPOSE 7860 8000
# ---------- Start everything -----------------------------------------------
ENTRYPOINT ["/start.sh"] |