Flowise can be installed in multiple ways depending on your use case. Choose the method that best fits your needs.
Quick Install with npm
The fastest way to get started with Flowise is using npm.
Requirements
Node.js >= 18.15.0 (version 18.15.0 to < 19.0.0 or version 20+)
npm (comes with Node.js)
Download Node.js from nodejs.org if you don’t have it installed.
Installation Steps
Custom Port and Configuration
You can customize Flowise using environment variables:
# Start on a custom port
PORT = 8080 npx flowise start
# Use a custom database path
DATABASE_PATH = /path/to/database npx flowise start
# Enable debug mode
DEBUG = true npx flowise start
Docker Installation
Docker provides an isolated environment and is recommended for production deployments.
Prerequisites
Docker and Docker Compose installed
Download from docker.com
Option 1: Docker Compose (Recommended)
Docker Compose makes it easy to run Flowise with a database and other services.
Clone the repository
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise
Navigate to docker folder
Configure environment variables
Copy the example environment file: Edit .env to configure your settings: PORT = 3000
# Database (optional - SQLite used by default)
# DATABASE_TYPE=postgres
# DATABASE_PORT=5432
# DATABASE_HOST=postgres
# DATABASE_NAME=flowise
# DATABASE_USER=flowise
# DATABASE_PASSWORD=mypassword
# Storage path
# DATABASE_PATH=/root/.flowise
# BLOB_STORAGE_PATH=/root/.flowise/storage
# Security
# FLOWISE_USERNAME=admin
# FLOWISE_PASSWORD=1234
Start with Docker Compose
This will:
Pull the Flowise Docker image
Start the Flowise container
Optionally start a database container if configured
Make Flowise available at http://localhost:3000
Stop the containers
When you want to stop Flowise: To remove containers completely:
Option 2: Docker Image Only
Run Flowise using Docker without Docker Compose.
Build the image
docker build --no-cache -t flowise .
Run the container
docker run -d \
--name flowise \
-p 3000:3000 \
-v ~/.flowise:/root/.flowise \
flowise
The -v flag mounts a volume to persist your data between container restarts.
Using Official Docker Image
You can also use the official pre-built image:
docker run -d \
--name flowise \
-p 3000:3000 \
-v ~/.flowise:/root/.flowise \
flowiseai/flowise
Local Development Setup
For developers who want to contribute to Flowise or build custom integrations.
Prerequisites
Node.js >= 18.15.0
pnpm >= 10.26.0 (required for monorepo)
Installation Steps
Clone the repository
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise
Install dependencies
This installs dependencies for all modules (server, ui, components, api-documentation).
Build all modules
Memory Issues? If you get “JavaScript heap out of memory” errors, increase Node.js heap size:macOS Git Bash
Windows PowerShell
Windows CMD
export NODE_OPTIONS = "--max-old-space-size=4096"
pnpm build
Development Mode
For active development with hot reloading:
Configure environment variables
Create .env files in the respective packages: packages/ui/.env: packages/server/.env:
Run in development mode
This starts: Code changes will automatically reload the application.
Environment Variables
Flowise can be configured using environment variables. Create a .env file in packages/server/ or set them in your environment.
Core Configuration
# Server
PORT = 3000
# Database (SQLite by default)
DATABASE_PATH = /path/to/.flowise
DATABASE_TYPE = sqlite # sqlite | postgres | mysql
# PostgreSQL Example
# DATABASE_TYPE=postgres
# DATABASE_PORT=5432
# DATABASE_HOST=localhost
# DATABASE_NAME=flowise
# DATABASE_USER=flowise
# DATABASE_PASSWORD=password
# DATABASE_SSL=true
# DATABASE_REJECT_UNAUTHORIZED=true
# MySQL Example
# DATABASE_TYPE=mysql
# DATABASE_PORT=3306
# DATABASE_HOST=localhost
# DATABASE_NAME=flowise
# DATABASE_USER=flowise
# DATABASE_PASSWORD=password
Storage Configuration
# File Storage
STORAGE_TYPE = local # local | s3 | gcs | azure
BLOB_STORAGE_PATH = /path/to/.flowise/storage
# AWS S3 Example
# STORAGE_TYPE=s3
# S3_STORAGE_BUCKET_NAME=flowise
# S3_STORAGE_ACCESS_KEY_ID=your-access-key
# S3_STORAGE_SECRET_ACCESS_KEY=your-secret-key
# S3_STORAGE_REGION=us-west-2
# Google Cloud Storage Example
# STORAGE_TYPE=gcs
# GOOGLE_CLOUD_STORAGE_CREDENTIAL=/path/to/keyfile.json
# GOOGLE_CLOUD_STORAGE_PROJ_ID=your-project-id
# GOOGLE_CLOUD_STORAGE_BUCKET_NAME=flowise
# Azure Blob Storage Example
# STORAGE_TYPE=azure
# AZURE_BLOB_STORAGE_CONNECTION_STRING=your-connection-string
# AZURE_BLOB_STORAGE_CONTAINER_NAME=flowise
Security & Authentication
# Secret Keys (generate with: openssl rand -hex 32)
FLOWISE_SECRETKEY_OVERWRITE = your-encryption-key
# JWT Configuration
JWT_AUTH_TOKEN_SECRET = your-secret
JWT_REFRESH_TOKEN_SECRET = your-refresh-secret
JWT_ISSUER = Flowise
JWT_AUDIENCE = Flowise
JWT_TOKEN_EXPIRY_IN_MINUTES = 360
JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES = 43200
# Express Session
EXPRESS_SESSION_SECRET = your-session-secret
# Token Hash
TOKEN_HASH_SECRET = your-token-hash-secret
# Password Settings
PASSWORD_SALT_HASH_ROUNDS = 10
# App URL (for email links)
APP_URL = http://localhost:3000
Logging & Debugging
# Logging
DEBUG = true
LOG_LEVEL = info # error | warn | info | verbose | debug
LOG_PATH = /path/to/.flowise/logs
# Sanitize sensitive fields in logs
LOG_SANITIZE_BODY_FIELDS = password,apikey,secret,token
LOG_SANITIZE_HEADER_FIELDS = authorization,x-api-key,cookie
Application Settings
# CORS
CORS_ORIGINS = *
IFRAME_ORIGINS = *
# File Upload
FLOWISE_FILE_SIZE_LIMIT = 50mb
# Features
SHOW_COMMUNITY_NODES = true
DISABLE_FLOWISE_TELEMETRY = false
# Disable specific nodes (comma-separated)
DISABLED_NODES =
# Model List Config
# MODEL_LIST_CONFIG_JSON=/path/to/models.json
Queue Configuration (Advanced)
# Queue Mode
MODE = queue # queue | main
QUEUE_NAME = flowise-queue
# Redis Configuration
REDIS_URL = redis://localhost:6379
# OR
REDIS_HOST = localhost
REDIS_PORT = 6379
REDIS_USERNAME =
REDIS_PASSWORD =
# Queue Settings
WORKER_CONCURRENCY = 100000
REMOVE_ON_AGE = 86400
REMOVE_ON_COUNT = 10000
ENABLE_BULLMQ_DASHBOARD = true
Proxy Configuration
# Global Agent Proxy
GLOBAL_AGENT_HTTP_PROXY = http://proxy.example.com:8080
GLOBAL_AGENT_HTTPS_PROXY = https://proxy.example.com:8080
GLOBAL_AGENT_NO_PROXY = localhost,127.0.0.1
# Trust Proxy (for reverse proxies)
TRUST_PROXY = true
NUMBER_OF_PROXIES = 1
Production Deployment
For production environments, consider these best practices:
Database
Do not use SQLite in production. Use PostgreSQL or MySQL for better performance, reliability, and concurrent access.
# Recommended: PostgreSQL
DATABASE_TYPE = postgres
DATABASE_HOST = your-postgres-host
DATABASE_PORT = 5432
DATABASE_NAME = flowise
DATABASE_USER = flowise
DATABASE_PASSWORD = secure-password
DATABASE_SSL = true
Security
Generate secure secrets
# Generate a secure random secret
openssl rand -hex 32
Use this for:
FLOWISE_SECRETKEY_OVERWRITE
JWT_AUTH_TOKEN_SECRET
JWT_REFRESH_TOKEN_SECRET
EXPRESS_SESSION_SECRET
TOKEN_HASH_SECRET
Enable HTTPS
Use a reverse proxy like Nginx or use a platform with built-in SSL (Railway, Render, etc.).
Configure CORS
Restrict CORS to your domains: CORS_ORIGINS = https://yourdomain.com,https://app.yourdomain.com
Cloud Storage
For production, use cloud storage instead of local file system:
# AWS S3
STORAGE_TYPE = s3
S3_STORAGE_BUCKET_NAME = your-bucket
S3_STORAGE_ACCESS_KEY_ID = your-key
S3_STORAGE_SECRET_ACCESS_KEY = your-secret
S3_STORAGE_REGION = us-east-1
Flowise can be deployed on various platforms:
Railway One-click deployment with automatic HTTPS and scaling.
Render Deploy from GitHub with automatic deploys on push.
AWS Deploy on EC2, ECS, or use AWS App Runner.
Azure Deploy using Azure Container Instances or App Service.
GCP Deploy on Google Cloud Run or Compute Engine.
Digital Ocean Deploy on Digital Ocean App Platform or Droplets.
Troubleshooting
If port 3000 is already in use: PORT = 8080 npx flowise start
Permission denied on npm install -g
On macOS/Linux, you might need sudo: sudo npm install -g flowise
Or configure npm to install globally without sudo: npm config set prefix ~/.npm-global
export PATH =~ /. npm-global / bin : $PATH
Build fails with heap out of memory
Increase Node.js memory: export NODE_OPTIONS = "--max-old-space-size=4096"
pnpm build
Docker container exits immediately
Database connection errors
Verify your database is running and credentials are correct: # Test PostgreSQL connection
psql -h localhost -U flowise -d flowise
# Test MySQL connection
mysql -h localhost -u flowise -p flowise
Clear pnpm cache and try again: pnpm store prune
pnpm install
Upgrading Flowise
npm
Docker
Local Development
docker pull flowiseai/flowise:latest
docker compose up -d
git pull origin main
pnpm install
pnpm build
Always backup your database before upgrading! Flowise may include database migrations that modify your schema.
Next Steps
Quickstart Tutorial Build your first chatflow in under 5 minutes.
Environment Variables Complete list of all configuration options.
Deployment Guides Platform-specific deployment instructions.
API Documentation Integrate Flowise into your applications.