FlowiseAI Deployment Guide (Tested)
-
For those of you who wish to deploy FlowiseAI, here are 3 cost-effective approaches I have tested:
Approach 1: Huggingface
Just follow this tutorial: link text
Huggingface is much cheaper than render, railway and replit.
It is free to deploy the app on Huggingface. You get 2 vCPU and 16GB for free!!
But you need to pay for the persistant storage ($5 per month for 20GB).
Note: This approach does not have backup and restore feature.Approach 2: Easypanel
Flowise is available on Easypanel as a one-click app.
The free version of Easypanel does not have backup and restore feature.
But I figured a workarrount (see the end).Approach 3: Coolify
Flowise is not available as a one-click app on Coolify, but you can install it with Dockerfile.
It is very similar to deploying on Huggingface: link text
Step1: Copy the Dockerfile (from the link above) to Coolify.
Step2: Add Environment Variables. I compiled a list of environment variables, so you can just copy and edit it based on your use cases.FLOWISE_USERNAME= FLOWISE_PASSWORD= CORS_ORIGINS= IFRAME_ORIGINS= LANGCHAIN_TRACING_V2=true LANGCHAIN_ENDPOINT= LANGCHAIN_API_KEY= LANGCHAIN_PROJECT= TOOL_FUNCTION_BUILTIN_DEP=* TOOL_FUNCTION_EXTERNAL_DEP=axios,moment STORAGE_TYPE=s3 S3_STORAGE_BUCKET_NAME= S3_STORAGE_ACCESS_KEY_ID= S3_STORAGE_SECRET_ACCESS_KEY= S3_STORAGE_REGION= OVERRIDE_DATABASE=false NUMBER_OF_PROXIES=1 FLOWISE_SECRETKEY_OVERWRITE= DATABASE_PATH=/app/storage APIKEY_PATH=/app/storage LOG_PATH=/app/storage SECRETKEY_PATH=/app/storage BLOB_STORAGE_PATH=/app/storage
Step3: Set the Persistent Storage (destination path) as /app/storage
Step4: Enable health checksFlowiseAI uses SQlite as its database by default, but Coolify currently does not have backup method for SQLite.
Backup and restore workarround for Coolify and Easypanel
Step1: Install a SFTP tool (cyberduck or filezilla) on your PC.
Step2: Use SFTP to log into your server.
Step3: Create a folder under the root folder, and name it as flowise.
Step4: Go to your Coolify or Easypanel dashboard, and create a bind mount (do not use volume mount).
Step5: Create a folder (named flowise) on your local PC.
Step6: Use cyberduck or filezilla to sync the bind mount database (.sqlite file) to your local folder.
Step7: If you want to backup to S3 compatible storage, use Cyberduck to connect to your bucket. -
I really hope FlowiseAI will available on Cloudron, as Cloudron is by far the best PaaS I have tried.
And there are other AI-related apps that could add to Cloudron. For example, vector store for building RAG apps.
Here is a list of them with detailed comparison:
PGvector is supported by Supabase which is another great open-source app. -
Update
The SFTP backup approach is not perfect, because it is not designed with version control.
I figured out a much better solution for deployment, update, backup and restore process.
- Install PostgreSQL on Coolify.
- Install FlowiseAI on Coolify with the Dockerfile from the offcial documentation.
- Set Persistent Storage (destination path aka volume mount) as /app/storage.
- Environment Variables (tricky part):
Give these variables the save path as your persistent storage (volume):
APIKEY_PATH=/app/storage
LOG_PATH=/app/storage
SECRETKEY_PATH=/app/storage
BLOB_STORAGE_PATH=/app/storage
Add these variables:
DATABASE_TYPE=postgres
DATABASE_PORT=5432
DATABASE_HOST=
DATABASE_NAME=
DATABASE_USER=
DATABASE_PASSWORD=Note: You do not need DATABASE_PATH any more.
You can now back up your PostgreSQL database to your S3 storage.
-
Update
Some cloud providers might not support internal SSL connection between FlowiseAI and PostgreSQL.
For example, Hetzner. I cannot follow the official documentation and set:- DATABASE_SSL=true
- PGSSLMODE=require
Instead, I have to set:
- DATABASE_SSL=false
- PGSSLMODE=disable
Your cloud providers may be different, but this update may save you some time from trial and error which is quite painful.
-
Update
If you want to connect FlowiseAI with Supabase which supports postgresql, here is what you need to do:
Step 1: create a project on Supabase.
Step 2: click "connect" on the top right, and copy the URL which looks like this:postgres://postgres.tmunbfajkfjakfdjqlaaepjv:[YOUR-PASSWORD]@aws-0-eu-east-1.pooler.supabase.com:5432/postgres
Step 3: take this URL apart
DATABASE_TYPE=postgres
DATABASE_USER=postgres.tmunbfajkfjakfdjqlaaepjv
DATABASE_PASSWORD=Your Password
DATABASE_HOST=aws-0-eu-east-1.pooler.supabase.com
DATABASE_PORT=5432
DATABASE_NAME=postgresVariables below depend on your cloud provider. See last update.
DATABASE_SSL=false
PGSSLMODE=disableI struggled with connecting FlowiseAI with Postgresql and Supbase for two days.
I succeeded with Postgresql yesterday on my own after hours of trial and errors.
And today GPT4o just lanuched. I asked her for help with Supabase.
And I got it working in 1 min. This is insane!!!!
For non-technical people like me, this is a wonderful era!!!!! -
Update: The Easiest Approach to Deploy Flowise
I just figured out an approach that is much better than using Dockerfile (as described above).
If you are using Huggingface, then you must use Dockerfile.
However, using Dockerfile means the server will build the image from scratch.
This requires at least 2vCPU and 16GB of RAM.
Huggingface offers 2vCPU and 16GB of RAM for free.
But if you are using Coolify, then you have to scale up your server (at least for the building process).A better way to deploy Flowise is to use a prebuilt image.
Easypanel is actually using this way to deploy Flowise.
The image it is using: flowiseai/flowise:latest
But if you are using Coolify, this image does not work very well. I tried many many times.
I recommand using another image built by Elestio: elestio/flowiseai:latestJust copy "elestio/flowiseai:latest" and paste it to Coolify, and expose a PORT (such as 3000, 8000), and hit Deploy!