* feat(database.util.ts): add function to check if column exists in table * feat(migrations): add permission column to apikey table * chore(services/apikey): remove auto-create default API key * chore: remove auto-create default API key * fix(migrations): rename permission to permissions in apikey table * feat(services/apikey): add permissions to create and update * feat(views/apikey): add permissions to create and update * feat(api): use API key permissions instead of role permissions * feat(permissions): filter by user.permissions except for ROLE type * feat(services/apikey): filter keys by user permissions in getAllApiKeys * feat(services/apikey): limit API key permissions to user permissions during creation/update * fix(database.util.ts): replace non-null assertion with explicit error handling * feat(services/apikey): log errors for malformed API key permissions * refactor(services/apikey): extract permission validation * feat(permission): enhance permission filtering based on user features and platform type * chore(migrations): lower API key permission value * Update packages/ui/src/views/apikey/APIKeyDialog.jsx Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update packages/ui/src/views/apikey/APIKeyDialog.jsx Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * refactor: remove deprecated APIKEY_PATH and APIKEY migration * refactor(apikey): remove functionality related to import apikey * feat(permission): filter out workspace and admin categories for non-ROLE * feat(services/apikey): validate API key permissions during create and update * chore(migrations): clean up role permissions values * fix(migrations): handle corrupted permissions gracefully * fix(server/src/index.ts): add error handling for API key permissions parsing * fix(APIKeyDialog.jsx): handle corrupted permissions when editing API key * fix(views/apikey/index.jsx): handle corrupted permissions in API key list * fix(services/apikey): validate permissions JSON in API key operations * Potential fix for code scanning alert no. 83: Clear-text logging of sensitive information Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * feat(migrations): change ApiKey.permissions column from TEXT to JSON * Update packages/server/src/services/apikey/index.ts Co-authored-by: Jocelyn Lin <[email protected]> * feat(PricingDialog.jsx): handle downgrade with excessive apikey permissions * feat(controllers\apikey): enforce permissions validation * chore(services/apikey): remove redundant null checks * fix(services/dataset): throw error when dataset not found before fetching rows --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Jocelyn Lin <[email protected]>
Build AI Agents, Visually
📚 Table of Contents
- ⚡ Quick Start
- 🐳 Docker
- 👨💻 Developers
- 🌱 Env Variables
- 📖 Documentation
- 🌐 Self Host
- ☁️ Flowise Cloud
- 🙋 Support
- 🙌 Contributing
- 📄 License
⚡Quick Start
Download and Install NodeJS >= 18.15.0
-
Install Flowise
npm install -g flowise -
Start Flowise
npx flowise start
🐳 Docker
Docker Compose
- Clone the Flowise project
- Go to
dockerfolder at the root of the project - Copy
.env.examplefile, paste it into the same location, and rename to.envfile docker compose up -d- Open http://localhost:3000
- You can bring the containers down by
docker compose stop
Docker Image
-
Build the image locally:
docker build --no-cache -t flowise . -
Run image:
docker run -d --name flowise -p 3000:3000 flowise -
Stop image:
docker stop flowise
👨💻 Developers
Flowise has 3 different modules in a single mono repository.
server: Node backend to serve API logicsui: React frontendcomponents: Third-party nodes integrationsapi-documentation: Auto-generated swagger-ui API docs from express
Prerequisite
- Install PNPM
npm i -g pnpm
Setup
-
Clone the repository:
git clone https://github.com/FlowiseAI/Flowise.git -
Go into repository folder:
cd Flowise -
Install all dependencies of all modules:
pnpm install -
Build all the code:
pnpm buildExit code 134 (JavaScript heap out of memory)
If you get this error when running the above `build` script, try increasing the Node.js heap size and run the script again:# macOS / Linux / Git Bash export NODE_OPTIONS="--max-old-space-size=4096" # Windows PowerShell $env:NODE_OPTIONS="--max-old-space-size=4096" # Windows CMD set NODE_OPTIONS=--max-old-space-size=4096Then run:
pnpm build -
Start the app:
pnpm startYou can now access the app on http://localhost:3000
-
For development build:
-
Create
.envfile and specify theVITE_PORT(refer to.env.example) inpackages/ui -
Create
.envfile and specify thePORT(refer to.env.example) inpackages/server -
Run:
pnpm dev
Any code changes will reload the app automatically on http://localhost:8080
-
🌱 Env Variables
Flowise supports different environment variables to configure your instance. You can specify the following variables in the .env file inside packages/server folder. Read more
📖 Documentation
You can view the Flowise Docs here
🌐 Self Host
Deploy Flowise self-hosted in your existing infrastructure, we support various deployments
☁️ Flowise Cloud
Get Started with Flowise Cloud.
🙋 Support
Feel free to ask any questions, raise problems, and request new features in Discussion.
🙌 Contributing
Thanks go to these awesome contributors
See Contributing Guide. Reach out to us at Discord if you have any questions or issues.
📄 License
Source code in this repository is made available under the Apache License Version 2.0.

