/Flowise

Drag & drop UI to build your customized LLM flow using LangchainJS

Primary LanguageTypeScriptMIT LicenseMIT

Flowise

Drag & drop UI to build your customized LLM flow

⚑Quick Start

Download and Install NodeJS >= 18.15.0

  1. Install Flowise

    npm install -g flowise
  2. Start Flowise

    npx flowise start

    With username & password

    npx flowise start --FLOWISE_USERNAME=user --FLOWISE_PASSWORD=1234
  3. Open http://localhost:3000

🐳 Docker

Docker Compose

  1. Go to docker folder at the root of the project
  2. Create .env file and specify the PORT (refer to .env.example)
  3. docker-compose up -d
  4. Open http://localhost:3000
  5. You can bring the containers down by docker-compose stop

Docker Image

  1. Build the image locally:

    docker build --no-cache -t flowise .
  2. Run image:

    docker run -d --name flowise -p 3000:3000 flowise
  3. Stop image:

    docker stop flowise

πŸ‘¨β€πŸ’» Developers

Flowise has 3 different modules in a single mono repository.

  • server: Node backend to serve API logics
  • ui: React frontend
  • components: Langchain components

Prerequisite

Setup

  1. Clone the repository

    git clone https://github.com/FlowiseAI/Flowise.git
  2. Go into repository folder

    cd Flowise
  3. Install all dependencies of all modules:

    yarn install
  4. Build all the code:

    yarn build
  5. Start the app:

    yarn start

    You can now access the app on http://localhost:3000

  6. For development build:

    • Create .env file and specify the PORT (refer to .env.example) in packages/ui

    • Create .env file and specify the PORT (refer to .env.example) in packages/server

    • Run

      yarn dev

    Any code changes will reload the app automatically on http://localhost:8080

πŸ”’ Authentication

To enable app level authentication, add FLOWISE_USERNAME and FLOWISE_PASSWORD to the .env file in packages/server:

FLOWISE_USERNAME=user
FLOWISE_PASSWORD=1234

🌱 Env Variables

Flowise support different environment variables to configure your instance. You can specify the following variables in the .env file inside packages/server folder.

Variable Description Type Default
PORT The HTTP port Flowise runs on Number 3000
FLOWISE_USERNAME Username to login String
FLOWISE_PASSWORD Password to login String
DEBUG Print logs from components Boolean
LOG_PATH Location where log files are stored String your-path/Flowise/logs
LOG_LEVEL Different levels of logs Enum String: error, info, verbose, debug info
DATABASE_PATH Location where database is saved String your-home-dir/.flowise
APIKEY_PATH Location where api keys are saved String your-path/Flowise/packages/server
EXECUTION_MODE Whether predictions run in their own process or the main process Enum String: child, main main

You can also specify the env variables when using npx. For example:

npx flowise start --PORT=3000 --DEBUG=true

πŸ“– Documentation

Flowise Docs

🌐 Self Host

Deploy on Railway

Deploy to Render

πŸ’» Cloud Hosted

Coming soon

πŸ™‹ Support

Feel free to ask any questions, raise problems, and request new features in discussion

πŸ™Œ Contributing

See contributing guide. Reach out to us at Discord if you have any questions or issues. Star History Chart

πŸ“„ License

Source code in this repository is made available under the MIT License.