Environment:FlowiseAI Flowise Node Runtime Environment
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Node_JS |
| Last Updated | 2026-02-12 07:30 GMT |
Overview
Node.js 18.15+ or 20.x runtime with PNPM 10.26+ package manager and native build tools for the Flowise monorepo.
Description
This environment defines the core runtime requirements for running Flowise locally or building from source. Flowise is a TypeScript/JavaScript monorepo managed by Turborepo and PNPM workspaces. It requires specific Node.js versions due to native module compatibility (sqlite3, faiss-node, canvas). System-level build tools (Python 3, make, g++, cairo, pango) are needed to compile native addons during `pnpm install`.
Usage
Use this environment for local development, building from source, or running Flowise outside of Docker. It is the base prerequisite for all Flowise packages (server, UI, components, agentflow).
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Linux, macOS, or Windows (WSL recommended) | Alpine Linux used in Docker |
| Hardware | 4GB+ RAM minimum | 8GB recommended; build requires `--max-old-space-size=4096` |
| Disk | 2GB+ free space | Node modules, build artifacts, and database storage |
| Runtime | Node.js `>=18.15.0 <19.0.0` or `^20` | Specified in root package.json engines field |
| Package Manager | PNPM `^10.26.0` | Required for workspace management |
| Build Orchestrator | Turborepo `1.10.16` | Used for monorepo build pipeline |
Dependencies
System Packages
- `python3` — Required for native module compilation (node-gyp)
- `make` — Build automation tool
- `g++` / `build-base` — C++ compiler for native addons
- `cairo-dev` — 2D graphics library (for canvas/image processing nodes)
- `pango-dev` — Text rendering library (for canvas/image processing nodes)
- `chromium` — Headless browser for Puppeteer-based document loaders
- `curl` — HTTP client for healthchecks
- `libc6-compat` — GNU C Library compatibility (Alpine Linux)
Node.js Packages (Key Dependencies)
- `typescript` >= 5.4.5
- `express` >= 4.17.3
- `typeorm` >= 0.3.6
- `react` >= 18.2.0
- `langchain` >= 0.3.5
- `@langchain/core` = 0.3.61
- `openai` >= 4.96.0
Credentials
No credentials are required for the base runtime environment. API keys for LLM providers and integrations are managed through the Flowise credential system at runtime (see component-level credential definitions).
The following build-time environment variables may be set:
- `PUPPETEER_SKIP_DOWNLOAD`: Set to `true` to skip Chromium download during install (use system Chromium instead)
- `PUPPETEER_EXECUTABLE_PATH`: Path to system Chromium binary (e.g., `/usr/bin/chromium-browser`)
- `NODE_OPTIONS`: Node.js runtime options (e.g., `--max-old-space-size=8192`)
Quick Install
# Install Node.js 20.x and PNPM
nvm install 20
npm install -g pnpm@10
# Clone and build
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise
pnpm install
pnpm build
# Start
pnpm start
Code Evidence
Node.js version constraint from `package.json:91-94`:
"engines": {
"node": ">=18.15.0 <19.0.0 || ^20",
"pnpm": "^10.26.0"
}
Memory configuration from `Dockerfile:26`:
ENV NODE_OPTIONS=--max-old-space-size=8192
System dependencies from `Dockerfile:10-21`:
RUN apk update && \
apk add --no-cache \
libc6-compat \
python3 \
make \
g++ \
build-base \
cairo-dev \
pango-dev \
chromium \
curl && \
npm install -g pnpm
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `Exit code 134 (JavaScript heap out of memory)` | Node.js default heap size too small for build | Set `NODE_OPTIONS="--max-old-space-size=4096"` before building |
| `node-gyp rebuild failed` | Missing native build tools (python3, make, g++) | Install build-essential / build-base and python3 |
| `Error: Could not find Chromium` | Puppeteer cannot find browser binary | Set `PUPPETEER_EXECUTABLE_PATH` to system chromium path or install chromium |
| `ERR_PNPM_UNSUPPORTED_ENGINE` | Wrong Node.js or PNPM version | Use Node.js 18.15+ or 20.x with PNPM 10.26+ |
Compatibility Notes
- Windows: Use WSL2 for best compatibility; native Windows builds may have issues with native modules (sqlite3, canvas)
- macOS (Apple Silicon): Ensure Rosetta 2 is installed for x86 native modules, or use arm64-compatible versions
- Alpine Linux: Requires `libc6-compat` for glibc-dependent modules
- Puppeteer vs Playwright: Both are supported for web scraping nodes; set `PUPPETEER_EXECUTABLE_FILE_PATH` or `PLAYWRIGHT_EXECUTABLE_FILE_PATH` to override default binaries