Flowise: Build AI Agents Visually with 52K+ Stars — 5-Minute Drag-and-Drop Setup Guide for 2026

Flowise is an open-source visual builder for LLM workflows and AI agents. Integrates with LangChain, Ollama, OpenAI, Qdrant, Weaviate, Chroma. Covers Docker install, production hardening, API deployment, and honest limitations.

  • ⭐ 52948
  • MIT
  • Updated 2026-05-19

{{< resource-info >}}

Introduction #

Building LLM-powered applications used to mean writing hundreds of lines of Python to wire together models, vector stores, retrieval chains, and memory modules. Then Flowise arrived and changed the rules. With 52,948 GitHub stars and a thriving community, Flowise is the open-source visual builder that lets you construct AI agents and RAG pipelines by dragging, dropping, and connecting nodes on a canvas — no code required. Whether you are prototyping a customer support chatbot or deploying a document Q&A system on a $5 VPS, this guide walks you through a production-grade Flowise setup from zero to deployed in under five minutes.

What Is Flowise? #

Flowise is an open-source, drag-and-drop visual builder for creating LLM workflows and AI agents using LangChain under the hood. It provides a node-based canvas where each component — chat models, embeddings, vector stores, tools, agents, and chains — is represented as a node that you connect to form executable pipelines. Flowise supports over 200 LangChain integrations including OpenAI, Anthropic, Ollama, Qdrant, Weaviate, and Chroma, making it one of the most integration-rich visual AI builders available.

How Flowise Works #

Flowise is built on a modular architecture that maps visual nodes directly to LangChain classes. Understanding this architecture helps you build more complex flows and debug issues faster.

Flowise Architecture
Flowise visual canvas showing connected LLM nodes — each node maps to a LangChain class

Flowise Canvas Demo
Flowise drag-and-drop interface in action — building a RAG pipeline without writing code

Core Components #

  1. Chat Models — The LLM engine (OpenAI GPT-4o, Claude, Ollama local models, Hugging Face, Bedrock, Gemini)
  2. Embeddings — Convert text to vectors for semantic search (OpenAI, HuggingFace, Cohere)
  3. Vector Stores — Persist embeddings for retrieval (Chroma, Qdrant, Weaviate, Pinecone, pgvector)
  4. Document Loaders — Ingest data from PDFs, web pages, text files, Notion, Confluence
  5. Chains — Orchestrate multi-step LLM operations (Conversational Retrieval QA, LLM Chain)
  6. Agents — Autonomous reasoning systems that choose tools dynamically (ReAct, OpenAI Functions)
  7. Memory — Maintain conversation context across turns (Buffer Memory, Window Buffer, Redis-backed)

Three Builder Modes #

Flowise offers three distinct visual builders:

  • Assistant — Beginner-friendly chatbot builder with RAG support. Upload documents, configure responses, and deploy.
  • Chatflow — Full node-based canvas for building custom conversational AI with explicit control over every component.
  • Agentflow — Multi-step agent workflows with conditional logic, loops, tool calling, and human-in-the-loop approval.

Every flow you build automatically exposes a REST API endpoint and an embeddable chat widget, making deployment a one-click operation.

Installation & Setup #

You have four ways to install Flowise. Each fits a different environment and skill level.

Option 1: NPM (Fastest for Local Development) #

Requires Node.js v18.15.0 or v20+. This is the fastest path from install to a running canvas.

# Install Flowise globally
npm install -g flowise

# Or install a specific version
npm install -g flowise@3.1.2

# Start Flowise
npx flowise start

Open http://localhost:3000 in your browser. The first boot creates a SQLite database at ~/.flowise automatically.

This is the most reliable deployment path. Flowise provides official images on Docker Hub with multi-arch support.

# Pull and run the official image
docker run -d -p 3000:3000 \
  --name flowise \
  -e FLOWISE_USERNAME=admin \
  -e FLOWISE_PASSWORD=secure-password \
  flowiseai/flowise:latest

Visit http://localhost:3000 and log in with the credentials you set.

Option 3: Docker Compose (Production-Ready with Database) #

For persistent deployments, use Docker Compose with PostgreSQL and volume mounts.

# docker-compose.yml
version: '3.8'
services:
  flowise:
    image: flowiseai/flowise:latest
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - DATABASE_TYPE=postgres
      - DATABASE_HOST=postgres
      - DATABASE_PORT=5432
      - DATABASE_NAME=flowise
      - DATABASE_USER=flowise
      - DATABASE_PASSWORD=${DB_PASSWORD:-changeme}
      - FLOWISE_USERNAME=${FLOWISE_USER:-admin}
      - FLOWISE_PASSWORD=${FLOWISE_PASS:-changeme}
      - SECRETKEY_PATH=/root/.flowise
      - JWT_AUTH_TOKEN_SECRET=${JWT_SECRET:-random-secret-change-in-prod}
      - JWT_REFRESH_TOKEN_SECRET=${JWT_REFRESH:-another-random-secret}
    volumes:
      - flowise_data:/root/.flowise
    depends_on:
      - postgres
    restart: unless-stopped

  postgres:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=flowise
      - POSTGRES_PASSWORD=${DB_PASSWORD:-changeme}
      - POSTGRES_DB=flowise
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  flowise_data:
  postgres_data:

Start with:

docker compose up -d

Option 4: Deploy to DigitalOcean Droplet #

For a cloud-hosted instance on a reliable VPS, deploy Flowise to DigitalOcean in minutes.

# On a fresh Ubuntu 24.04 droplet (2 vCPU / 2GB RAM / $12/month)
apt update && apt install -y docker.io docker-compose

# Clone the Flowise repo
git clone https://github.com/FlowiseAI/Flowise.git
cd Flowise/docker

# Copy environment template
cp .env.example .env

# Edit .env with your settings
nano .env

Example .env for DigitalOcean deployment:

PORT=3000
DATABASE_TYPE=sqlite
DATABASE_PATH=/root/.flowise
SECRETKEY_PATH=/root/.flowise
LOG_PATH=/root/.flowise/logs
BLOB_STORAGE_PATH=/root/.flowise/storage
FLOWISE_USERNAME=admin
FLOWISE_PASSWORD=your-secure-password-here
JWT_AUTH_TOKEN_SECRET=$(openssl rand -hex 32)
JWT_REFRESH_TOKEN_SECRET=$(openssl rand -hex 32)

Start the service:

docker compose up -d

Affiliate Disclosure: The DigitalOcean link above is an affiliate link. We may earn a commission at no extra cost to you. We only recommend infrastructure we would use ourselves.

Environment Variables Reference #

VariableDescriptionDefault
PORTHTTP server port3000
DATABASE_TYPEDatabase engine (sqlite, postgres)sqlite
DATABASE_PATHSQLite file path~/.flowise
FLOWISE_USERNAMEAdmin username
FLOWISE_PASSWORDAdmin password
JWT_AUTH_TOKEN_SECRETAccess token secretauto-generated
JWT_REFRESH_TOKEN_SECRETRefresh token secretauto-generated
BLOB_STORAGE_PATHFile upload storage path~/.flowise/storage
DISABLE_FLOWISE_TELEMETRYDisable anonymous telemetryfalse

OpenAI Integration #

Most users start with OpenAI models. Configure the API key in Flowise UI under Credentials, then use ChatOpenAI nodes in your flows.

# Add OpenAI API key as environment variable (optional but recommended)
export OPENAI_API_KEY=sk-your-key-here

Ollama (Local LLMs) #

Running local models with Ollama eliminates API costs and keeps data on-premise. This setup is ideal for privacy-sensitive deployments.

# docker-compose-ollama.yml
version: '3.8'
services:
  ollama:
    image: ollama/ollama:latest
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    restart: unless-stopped

  flowise:
    image: flowiseai/flowise:latest
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama_data:

Pull a model and start using it:

# Pull a lightweight model for testing
docker exec -it ollama ollama pull qwen2:7b

# Or pull Llama 3
docker exec -it ollama ollama pull llama3.1:8b

In the Flowise canvas, select ChatOllama node and set the model name to qwen2:7b or llama3.1:8b.

Chroma Vector Store (RAG Setup) #

For production RAG pipelines, Chroma provides a lightweight vector database that works seamlessly with Flowise.

# Add to docker-compose.yml
  chroma:
    image: chromadb/chroma:latest
    ports:
      - "8000:8000"
    volumes:
      - chroma_data:/chroma/chroma
    restart: unless-stopped

Build a RAG pipeline in Flowise:

  1. Drag a PDF Loader or Text File node
  2. Connect to a Text Splitter node (set chunk size to 1000, overlap to 200)
  3. Connect to an OpenAI Embeddings (or Ollama Embeddings) node
  4. Connect to a Chroma vector store node
  5. Add a Conversational Retrieval QA Chain node
  6. Connect a Chat Model (ChatOpenAI or ChatOllama) to the chain
  7. Click Save and Run

For high-throughput RAG with hybrid search, Qdrant outperforms in-memory stores.

# Add Qdrant to your compose file
  qdrant:
    image: qdrant/qdrant:latest
    ports:
      - "6333:6333"
      - "6334:6334"
    volumes:
      - qdrant_data:/qdrant/storage
    restart: unless-stopped

In Flowise, use the Qdrant vector store node with host http://qdrant:6333.

Weaviate (Enterprise Vector Database) #

  weaviate:
    image: semitechnologies/weaviate:latest
    ports:
      - "8080:8080"
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
    volumes:
      - weaviate_data:/var/lib/weaviate
    restart: unless-stopped

API Deployment #

Every flow automatically exposes a REST API. Export your chatflow and integrate it anywhere.

# Test your deployed flow with curl
curl -X POST "http://localhost:3000/api/v1/prediction/your-chatflow-id" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "What is the return policy?",
    "overrideConfig": {
      "sessionId": "user_001"
    }
  }'

Response:

{
  "text": "Based on our documentation, the return policy allows returns within 30 days of purchase with the original receipt.",
  "sourceDocuments": [
    {
      "pageContent": "Returns are accepted within 30 days of purchase...",
      "metadata": { "source": "return-policy.pdf", "page": 3 }
    }
  ]
}

Python SDK example:

import requests

FLOWISE_API = "http://localhost:3000/api/v1/prediction/your-chatflow-id"

def ask(question, session_id="user_001"):
    resp = requests.post(FLOWISE_API, json={
        "question": question,
        "overrideConfig": {"sessionId": session_id}
    })
    return resp.json()["text"]

answer = ask("What are your shipping options?")
print(answer)

Embedding in Websites #

Flowise generates a JavaScript embed snippet for any chatflow. The widget supports custom themes, avatars, starter prompts, and multi-language welcome messages.

Flowise Embed Widget
Customizable embed chat widget with theming options — deploy to any website with one script tag

Paste this into any HTML page:

<script type="module">
  import Chatbot from 'https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js';
  Chatbot.init({
    chatflowid: 'your-chatflow-id',
    apiHost: 'https://your-flowise-server.com',
    theme: {
      button: {
        backgroundColor: '#3B81F6',
        right: 20,
        bottom: 20,
        size: 'medium'
      },
      chatWindow: {
        title: 'Support Assistant',
        welcomeMessage: 'Hello! How can I help you today?',
        backgroundColor: '#ffffff',
        height: 700,
        width: 400
      }
    }
  });
</script>

Benchmarks / Real-World Use Cases #

Flowise performance characteristics based on community reports and our own testing:

MetricValueNotes
Cold start (Docker)3-5 secondsOn 2 vCPU VPS
First response latency1.5-3sWith GPT-4o, depends on prompt
RAG query end-to-end2-4sChroma vector store, 1K chunks
Concurrent users50-200SQLite backend; use PostgreSQL for more
Memory usage (idle)~180 MBSingle container
Memory usage (active)300-600 MBDepends on model and context
Flow setup time (RAG)10-15 minFrom blank canvas to working chatbot
Minimum VPS spec1 vCPU / 1 GB RAM$4-5/month VPS works
Production VPS spec2 vCPU / 4 GB RAMRecommended with PostgreSQL

Comparison: Flowise vs Alternatives #

FeatureFlowiseDifyn8nLangChain
GitHub Stars52,94850,000+49,500110,000+
LicenseMITApache-2.0Fair-codeMIT
Visual BuilderDrag-and-drop canvasApp-centric UIWorkflow editorCode-only
Primary Use CaseLLM chatbots & RAGFull-stack AI appsWorkflow automationCode-first SDK
LangChain NativeYes (direct mapping)Custom abstractionVia AI nodesIt IS LangChain
LLM Support200+ (all LangChain)50+70+ AI nodesAll providers
Vector StoresChroma, Qdrant, Weaviate, Pinecone, pgvectorBuilt-in knowledge baseVia LangChain nodesAll stores
Local LLM (Ollama)Native nodeNative integrationVia HTTP requestNative
Embeddable Chat WidgetYes (auto-generated)YesVia webhookManual build
REST API (auto-generated)YesYesYesManual build
Multi-agent WorkflowsAgentflow (sequential)Workflow orchestrationYes (with AI nodes)LangGraph
Scheduling / TriggersLimitedLimitedFull (cron, webhook)Manual
Self-hosting ComplexityLow (1 container)Medium (multi-service)Low-MediumN/A (library)
Minimum RAM~1 GB4 GB300 MBN/A
Cloud Price (Starter)$35/month$59/month~$24/monthN/A
Non-technical UXGoodExcellentGoodRequires coding

When to Choose What #

  • Flowise: Best for teams building conversational AI (chatbots, RAG) who want the fastest prototype-to-deployment path with full LangChain compatibility.
  • Dify: Choose when you need a full-stack AI application platform with built-in knowledge management, prompt versioning, and team collaboration.
  • n8n: Choose when your AI agent is part of a broader automation pipeline with 400+ SaaS integrations, scheduling, and error handling.
  • LangChain: Use directly when you need full code control, version control for prompts, and CI/CD integration.

Advanced Usage / Production Hardening #

Security Checklist #

Before exposing Flowise to the internet, complete these steps:

# 1. Enable authentication (REQUIRED)
FLOWISE_USERNAME=admin
FLOWISE_PASSWORD=$(openssl rand -base64 24)

# 2. Set strong JWT secrets
JWT_AUTH_TOKEN_SECRET=$(openssl rand -hex 64)
JWT_REFRESH_TOKEN_SECRET=$(openssl rand -hex 64)

# 3. Run behind HTTPS with a reverse proxy
# Nginx configuration snippet:
server {
    listen 443 ssl http2;
    server_name flowise.yourdomain.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# 4. Disable telemetry if desired
DISABLE_FLOWISE_TELEMETRY=true

# 5. Set CORS for embed widgets
CORS_ORIGINS=https://yourdomain.com,https://app.yourdomain.com

Scaling with Queue Mode #

For high-traffic deployments, Flowise supports queue-based processing with Redis workers.

# docker-compose-queue.yml
version: '3.8'
services:
  redis:
    image: redis:alpine
    restart: unless-stopped

  flowise:
    image: flowiseai/flowise:latest
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - QUEUE_NAME=flowise-queue
      - QUEUE_REDIS_URL=redis://redis:6379
    restart: unless-stopped

  flowise-worker:
    image: flowiseai/flowise-worker:latest
    environment:
      - QUEUE_NAME=flowise-queue
      - QUEUE_REDIS_URL=redis://redis:6379
    restart: unless-stopped

Scale workers horizontally:

docker compose -f docker-compose-queue.yml up -d --scale flowise-worker=3

Backup Strategy #

# Backup SQLite database
docker exec flowise tar czf /tmp/backup.tar.gz /root/.flowise
docker cp flowise:/tmp/backup.tar.gz ./flowise-backup-$(date +%Y%m%d).tar.gz

# Backup PostgreSQL
docker exec flowise-postgres pg_dump -U flowise flowise > flowise-db-$(date +%Y%m%d).sql

# Automated daily backup via cron (add to crontab)
0 2 * * * /usr/local/bin/backup-flowise.sh >> /var/log/flowise-backup.log 2>&1

Monitoring with Docker #

# View real-time logs
docker compose logs -f flowise

# Check resource usage
docker stats flowise

# Health check endpoint
curl http://localhost:3000/api/v1/ping

Limitations / Honest Assessment #

Flowise is not the right tool for every AI project. Here is what it does NOT do well:

  1. Complex Multi-Agent Orchestration: Flowise Agentflow supports sequential agents, but cyclic multi-agent patterns (like those in LangGraph or AutoGen) require workarounds. Teams building research agents or debate-style multi-agent systems should consider LangGraph directly.

  2. Non-Chat Workflows: Flowise is optimized for conversational AI. Batch document processing, ETL pipelines, or scheduled data transformations are better handled by n8n or Python scripts.

  3. Version Control: Visual flows cannot be diffed in Git the way code can. Collaboration across large teams requires discipline about exporting and versioning JSON flow definitions manually.

  4. Advanced Debugging: While Flowise shows execution logs, it lacks node-level timing breakdowns and token-usage traces that Dify provides natively. Debugging complex retrieval failures requires reading raw logs.

  5. Enterprise Governance: RBAC exists in the Pro tier, but audit trails, compliance frameworks (ISO 42001, EU AI Act), and fleet management are not first-class features. Regulated industries may need additional governance layers.

  6. LangChain Dependency: Flowise inherits LangChain’s limitations. If LangChain drops support for a model or introduces a breaking change, Flowise follows. This coupling is a feature for LangChain users and a constraint for everyone else.

Frequently Asked Questions #

How do I install Flowise on a server without Node.js? #

Use Docker. The official flowiseai/flowise image bundles all dependencies. A single docker run command gets you running without installing Node.js, pnpm, or any build tools on the host.

Can Flowise work with local LLMs like Llama or Qwen? #

Yes. Flowise has native integration with Ollama. Start an Ollama container (or local instance), pull any GGUF model, then select the ChatOllama node in the Flowise canvas. Your data never leaves your server — no API keys required.

How does Flowise compare to Dify for building RAG chatbots? #

Flowise is faster to set up (one container, no database required) and gives you explicit control over each LangChain component. Dify has a more polished knowledge base UI with automatic chunking and better debugging. Choose Flowise for speed and LangChain compatibility; choose Dify for team collaboration and built-in knowledge management.

Is Flowise free for commercial use? #

Yes. Flowise is released under the MIT license. You can self-host it, modify it, embed it in commercial products, and sell services built on it — all without paying licensing fees. The cloud-hosted version has paid tiers starting at $35/month.

What is the minimum server spec for running Flowise in production? #

A $5/month VPS with 1 vCPU and 1 GB RAM handles small-to-medium workloads with SQLite. For production with PostgreSQL and concurrent users, allocate 2 vCPUs and 4 GB RAM. The Flowise container itself uses ~180 MB at idle; the LLM (if self-hosted via Ollama) consumes the most resources.

Can I export a Flowise chatbot as an API? #

Every chatflow and agentflow automatically gets a REST API endpoint at /api/v1/prediction/{flow-id}. The UI generates curl, Python, and JavaScript code snippets. You can also export an embeddable chat widget with one click.

How do I upgrade Flowise to a new version? #

For Docker deployments, pull the latest image and restart:

docker pull flowiseai/flowise:latest
docker compose up -d

For NPM installations, run npm update -g flowise. Always back up your ~/.flowise directory before upgrading.

Conclusion #

Flowise removes the barrier between idea and deployed AI agent. With 52,948 GitHub stars, MIT licensing, and a visual canvas that maps directly to LangChain’s component model, it is the pragmatic choice for developers who want to ship LLM-powered chatbots and RAG systems without writing boilerplate code.

Start with npx flowise start for a local prototype. Move to Docker Compose with PostgreSQL for production. Connect Ollama for fully private, API-key-free deployments. And when you need to scale, add Redis queue workers and horizontal worker replicas.

Action items for this week:

  1. Deploy Flowise locally with Docker (docker run -p 3000:3000 flowiseai/flowise)
  2. Build your first RAG pipeline with a PDF loader, text splitter, and Chroma vector store
  3. Export the REST API and embed the chat widget on a test page
  4. Join the FlowiseAI Telegram group for community support and weekly tips

Before you deploy any of the tools above into production, you’ll need solid infrastructure. Two options dibi8 actually uses and recommends:

  • DigitalOcean — $200 free credit for 60 days across 14+ global regions. The default option for indie devs running open-source AI tools.
  • HTStack — Hong Kong VPS with low-latency access from mainland China. This is the same IDC that hosts dibi8.com — battle-tested in production.

Affiliate links — they don’t cost you extra and they help keep dibi8.com running.

Sources & Further Reading #

  1. Flowise Official Documentation — Complete docs for installation, configuration, and API reference
  2. Flowise GitHub Repository — Source code, issues, and releases
  3. Flowise Cloud Pricing — Cloud-hosted plans and enterprise features
  4. LangChain Documentation — The underlying framework Flowise is built on
  5. Ollama Download — Local LLM runtime for private deployments
  6. Chroma Database — Open-source vector database for RAG
  7. Qdrant Vector Database — High-performance vector search for production
  8. Flowise vs Dify Comparison — Detailed head-to-head by ToolHalla
  9. Flowise Embed Widget Docs — NPM package for embedding chatbots
  10. DigitalOcean Docker Deployment Guide — Docker setup for Ubuntu servers

💬 Discussion