| FROM node:20-alpine |
|
|
| USER root |
|
|
| |
| ENV PORT=8080 |
| ENV HOST=0.0.0.0 |
| ENV BASE_PATH=/data/.flowise |
| ENV DATABASE_PATH=/data/.flowise |
| ENV APIKEY_PATH=/data/.flowise |
| ENV SECRETKEY_PATH=/data/.flowise |
| ENV LOG_PATH=/data/.flowise/logs |
| ENV BLOB_STORAGE_PATH=/data/.flowise/storage |
|
|
| |
| RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium curl |
|
|
| ENV PUPPETEER_SKIP_DOWNLOAD=true |
| ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser |
| ENV NODE_OPTIONS=--max-old-space-size=4096 |
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN git clone https://github.com/kivilaid/Flowise.git . |
|
|
| |
| RUN npm install -g pnpm |
|
|
| |
| RUN rm -f pnpm-lock.yaml |
|
|
| |
| RUN pnpm install --no-frozen-lockfile |
|
|
| |
| RUN pnpm build |
|
|
| |
| RUN mkdir -p /data/.flowise/logs /data/.flowise/storage |
| RUN chmod -R 777 /data/.flowise |
|
|
| |
| RUN chmod +x /app/packages/server/bin/run |
|
|
| |
| EXPOSE 8080 |
|
|
| |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \ |
| CMD curl -f http://localhost:8080/ || exit 1 |
|
|
| |
| CMD ["sh", "-c", "cd /app/packages/server/bin && ./run start"] |