Flowise
Overview
Flowise is an open source, low-code visual builder for AI agents, chatbots and LLM workflows. You drag and drop nodes to chain models, prompts, vector stores, retrieval and tools. You then publish the result as an API or an embeddable chat widget, all running on your own VM.
The SecureAnyCloud image installs Docker CE from the official Docker repository and runs Flowise as a container, managed by Docker with a restart policy. The container is bound to the loopback connector 127.0.0.1:3000 behind an nginx reverse proxy on port 80. nginx protects the whole app with HTTP Basic Auth, and a unique login password is generated on the first boot of every VM.
Flowise's own project data lives on a dedicated Azure data disk. This data includes the SQLite database, encryption keys, uploads and your saved flows. Each boot pulls the latest published Flowise image, so your VM is never left on a stale build.
What you get:
- Flowise running as a container managed by Docker, pulled fresh (latest) on first boot.
- Docker CE preinstalled from the official Docker apt repository.
- The Flowise builder UI on
:80, fronted by nginx with HTTP Basic Auth. - A unique Basic Auth login password, generated on first boot and recorded in a root-only file.
- A dedicated Azure data disk at
/var/lib/flowiseholding the SQLite database, keys and uploads. docker.serviceandnginx.serviceas systemd units, enabled and active.- An unauthenticated
/healthzendpoint for Azure Load Balancer health probes. - A streaming- and websocket-friendly nginx proxy configuration for agent responses.
- 24/7 SecureAnyCloud support.
Prerequisites
- An active Azure subscription, an SSH key pair, and a VNet and subnet in the target region.
- A VM size of Standard_B2s (2 vCPU / 4 GiB RAM) is a reasonable starting point. Flowise itself is a builder and orchestration layer, and the heavy inference happens on whichever model provider you connect it to.
- NSG inbound rules that allow
22/tcpfrom your management network and80/tcp. Flowise serves plain HTTP on port 80. For production, terminate TLS in front of it with your own domain and consider adding443/tcp(see Maintenance). - Your own API key for whichever LLM provider you plan to use (OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter), or a reachable local inference server such as Ollama.
Step 1 - Deploy from the Azure Marketplace
Sign in to the Azure Portal, choose Create a resource, search the Marketplace for Flowise by SecureAnyCloud, and select Create.
On Basics, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80). Review the dedicated data disk on the Disks tab, then choose Review + create and Create.
Step 2 - Deploy from the Azure CLI
Accept the Marketplace terms once per subscription, then create the VM and open port 80:
# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:flowise-ubuntu-24-04:default:latest
az vm create \
--resource-group <your-rg> \
--name flowise \
--image sac1647283583153:flowise-ubuntu-24-04:default:latest \
--size Standard_B2s \
--admin-username azureuser \
--ssh-key-values ~/.ssh/id_ed25519.pub \
--vnet-name <your-vnet> --subnet <your-subnet> \
--public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name flowise --port 80 --priority 1010Step 3 - Connect to your VM
Connect over SSH as azureuser:
ssh azureuser@<vm-public-ip>Step 4 - Confirm the services are running
Check the two systemd units and the Flowise container:
systemctl is-active docker.service nginx.service
sudo docker ps --filter name=flowise --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'Both systemd units report active, and Docker shows the flowise container Up. Docker manages the Flowise container, which is bound to the loopback connector 127.0.0.1:3000. nginx fronts it on port 80 behind HTTP Basic Auth.
Step 5 - Retrieve your login credentials
The appliance's network access gate is HTTP Basic Auth (user admin). The image generates the password uniquely on the first boot of your VM and writes it to a root-only file:
sudo cat /root/flowise-credentials.txtThis file contains FLOWISE_URL, FLOWISE_USERNAME and FLOWISE_PASSWORD. Store the password somewhere safe, because it is the key to the reverse proxy gate in front of Flowise.
Step 6 - Confirm the health endpoint
nginx serves an unauthenticated health endpoint for load balancers and probes:
curl -s http://localhost/healthzThe endpoint returns ok. It never requires authentication, so it is safe for an Azure Load Balancer health probe.
Step 7 - Confirm the login password is enforced
Because first boot sets a password, Flowise rejects an unauthenticated request with HTTP 401. Nobody reaches your builder or your saved flows without the password:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/The command prints 401. A wrong password is also rejected with 401. Only the per-VM password from Step 5 returns 200:
curl -s -o /dev/null -w '%{http_code}\n' -u 'admin:<FLOWISE_PASSWORD>' http://127.0.0.1/The command prints 200.
Step 8 - Sign in and create your Flowise account
Browse to http://<vm-public-ip>/. Your browser first prompts for HTTP Basic Auth credentials. Enter admin and the password from Step 5.
Behind that gate, Flowise shows a one-time Setup Account screen on first visit. Enter an administrator name, a valid email (used as your login id) and a password, then choose Sign Up. The password needs at least 8 characters, with upper case, lower case, a digit and a special character. The account is stored only in your VM's own database on the dedicated data disk. No external connection is made.
Step 9 - Explore the dashboard
After you sign in, you land on the Chatflows dashboard. The left rail gives you these sections:
- Chatflows: single-agent systems, chatbots and simple LLM flows.
- Agentflows: multi-agent systems.
- Assistants, Marketplaces, Tools, Credentials, Variables, API Keys and Document Stores.
A fresh install shows "No Chatflows Yet". You create your first chatflow from a template in the next steps.
Step 10 - Browse the Marketplace of templates
Open Marketplaces from the left rail to explore prebuilt agent and chatflow templates, such as Agentic RAG, Agents Handoff, Deep Research, Human in the Loop, Interacting with API and many more. These ready-made starting points open on the canvas, where you can adapt them.
Step 11 - Open a flow on the visual canvas
Select a template to open it in Flowise's drag-and-drop canvas. Each node is a building block, such as a Start node, a model that detects user intention, or a downstream agent bound to a model. Edges wire the nodes together.
Before you run a flow, open Credentials in the left rail and add your own LLM provider API key (OpenAI, Anthropic, Gemini, Groq, Mistral, OpenRouter), or point a node at a local endpoint. The key is encrypted and stored only in this VM's database on the data disk. Then choose Use Template, or the play control, to save the flow as your own chatflow and start chatting.
Step 12 - Confirm your project data lives on the dedicated disk
Flowise's SQLite database, encryption keys, uploads and your saved flows are stored under /var/lib/flowise on the dedicated Azure data disk. They survive OS changes, and you can resize the disk independently. Check the mount:
findmnt /var/lib/flowiseA separate Azure data disk backs the mount. The disk is captured into the image and re-provisioned on every VM.
Maintenance
- Edge password: first boot sets the Basic Auth password in front of Flowise. To change it, run
sudo sh -c 'printf "admin:%s\n" "$(openssl passwd -apr1 NEW_PASSWORD)" > /var/lib/flowise/.htpasswd' && sudo systemctl reload nginx. - Flowise account: you manage your Flowise login (email and password from Step 8) inside the app, under the account and workspace settings. It is stored in the VM's own database.
- LLM API keys: you enter provider keys under Credentials, and they are stored encrypted in the VM database on the data disk. Back up
/var/lib/flowiseto preserve them along with your flows. - Upgrades: Flowise runs as the
flowisecontainer fromflowiseai/flowise:latest, and first boot pulls the latest image automatically. To upgrade an already running VM, runsudo docker pull flowiseai/flowise:latest, then recreate the container with the same-p 127.0.0.1:3000:3000 -v /var/lib/flowise:/root/.flowisebinding. - TLS: Flowise serves plain HTTP on port 80. Front it with TLS, for example certbot with your own domain, before you run it in production, and especially before you enter real API keys.
- Security patches: unattended-upgrades remains enabled, so the OS continues to receive security updates automatically.
- License: Flowise is Apache 2.0 licensed. This image ships the open source Flowise. The SecureAnyCloud charge covers packaging, security patching, image maintenance and support.
Support
SecureAnyCloud provides 24/7 expert support for this image. Contact sales@secureanycloud.com.
Deploy on Azure
Launch Flowise on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com