Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Environment:FlowiseAI Flowise Node Runtime Environment

From Leeroopedia
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

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment