<h1 align="center">
<a href="https://prompts.chat">
English | [中文](./i18n/CONTRIBUTING-ZH.md)
Sign in to like and favorite skills
English | 中文
We appreciate any form of contributions.
Star and share the Github Repo.
Search up for any questions in Q&A section, if you can't find one, don't hesitate to create one. It might helps others that have similar question.
Yes! Sharing how you use Flowise is a way of contribution. Export your chatflow as JSON, attach a screenshot and share it in Show and Tell section.
Ideas are welcome such as new feature, apps integration, and blockchain networks. Submit in Ideas section.
Found an issue? Report it.
Not sure what to contribute? Some ideas:
packages/componentsFlowise has 3 different modules in a single mono repository.
server: Node backend to serve API logicsui: React frontendcomponents: Third-party nodes integrationsnpm i -g pnpm
Fork the official Flowise Github Repository.
Clone your forked repository.
Create a new branch, see guide. Naming conventions:
feature/<Your New Feature>bugfix/<Your New Bugfix>.Switch to the newly created branch.
Go into repository folder
cd Flowise
Install all dependencies of all modules:
pnpm install
Build all the code:
pnpm build
Start the app on http://localhost:3000
pnpm start
For development:
.env file and specify the VITE_PORT (refer to .env.example) in packages/ui.env file and specify the PORT (refer to .env.example) in packages/serverpnpm dev
Any changes made in
packages/ui or packages/server will be reflected on http://localhost:8080
For changes made in
packages/components, run pnpm build again to pickup the changes.
After making all the changes, run
pnpm build
and
pnpm start
to make sure everything works fine in production.
Commit code and submit Pull Request from forked branch pointing to Flowise main.
Flowise support different environment variables to configure your instance. You can specify the following variables in the
.env file inside packages/server folder. Read more
| Variable | Description | Type | Default |
|---|---|---|---|
| PORT | The HTTP port Flowise runs on | Number | 3000 |
| CORS_ORIGINS | The allowed origins for all cross-origin HTTP calls | String | |
| IFRAME_ORIGINS | The allowed origins for iframe src embedding | String | |
| FLOWISE_FILE_SIZE_LIMIT | Upload File Size Limit | String | 50mb |
| DEBUG | Print logs from components | Boolean | |
| LOG_PATH | Location where log files are stored | String | |
| LOG_LEVEL | Different levels of logs | Enum String: , , , | |
| LOG_JSON_SPACES | Spaces to beautify JSON logs | 2 | |
| TOOL_FUNCTION_BUILTIN_DEP | NodeJS built-in modules to be used for Custom Tool or Function | String | |
| TOOL_FUNCTION_EXTERNAL_DEP | External modules to be used for Custom Tool or Function | String | |
| ALLOW_BUILTIN_DEP | Allow project dependencies to be used for Custom Tool or Function | Boolean | false |
| DATABASE_TYPE | Type of database to store the flowise data | Enum String: , , | |
| DATABASE_PATH | Location where database is saved (When DATABASE_TYPE is sqlite) | String | |
| DATABASE_HOST | Host URL or IP address (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_PORT | Database port (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_USER | Database username (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_PASSWORD | Database password (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_NAME | Database name (When DATABASE_TYPE is not sqlite) | String | |
| DATABASE_SSL_KEY_BASE64 | Database SSL client cert in base64 (takes priority over DATABASE_SSL) | Boolean | false |
| DATABASE_SSL | Database connection overssl (When DATABASE_TYPE is postgre) | Boolean | false |
| SECRETKEY_PATH | Location where encryption key (used to encrypt/decrypt credentials) is saved | String | |
| FLOWISE_SECRETKEY_OVERWRITE | Encryption key to be used instead of the key stored in SECRETKEY_PATH | String | |
| MODEL_LIST_CONFIG_JSON | File path to load list of models from your local config file | String | |
| STORAGE_TYPE | Type of storage for uploaded files. default is | Enum String: , , | |
| BLOB_STORAGE_PATH | Local folder path where uploaded files are stored when is | String | |
| S3_STORAGE_BUCKET_NAME | Bucket name to hold the uploaded files when is | String | |
| S3_STORAGE_ACCESS_KEY_ID | AWS Access Key | String | |
| S3_STORAGE_SECRET_ACCESS_KEY | AWS Secret Key | String | |
| S3_STORAGE_REGION | Region for S3 bucket | String | |
| S3_ENDPOINT_URL | Custom Endpoint for S3 | String | |
| S3_FORCE_PATH_STYLE | Set this to true to force the request to use path-style addressing | Boolean | false |
| GOOGLE_CLOUD_STORAGE_PROJ_ID | The GCP project id for cloud storage & logging when is | String | |
| GOOGLE_CLOUD_STORAGE_CREDENTIAL | The credential key file path when is | String | |
| GOOGLE_CLOUD_STORAGE_BUCKET_NAME | Bucket name to hold the uploaded files when is | String | |
| GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS | Enable uniform bucket level access when is | Boolean | true |
| SHOW_COMMUNITY_NODES | Show nodes created by community | Boolean | |
| DISABLED_NODES | Hide nodes from UI (comma separated list of node names) | String | |
| TRUST_PROXY | Configure proxy trust settings for proper IP detection. Values: 'true' (trust all), 'false' (disable), number (hop count), or Express proxy values (e.g., 'loopback', 'linklocal', 'uniquelocal', IP addresses). Learn More | Boolean/String/Number | true |
You can also specify the env variables when using
npx. For example:
npx flowise start --PORT=3000 --DEBUG=true
A member of the FlowiseAI team will automatically be notified/assigned when you open a pull request. You can also reach out to us on Discord.
This project and everyone participating in it are governed by the Code of Conduct which can be found in the file. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].