Flowise AI

Install and maintain Flowise AI on Ubuntu

Flowise AI runs from a global npm installation on Node.js 20, listens on localhost port 4000, and is exposed through an authenticated Nginx TLS reverse proxy.

How this guide was prepared: This is the command-line equivalent of the current Sive AppStore installation playbook. It covers the application installation and the parts you maintain after deployment. Platform provisioning, billing integration, and one-time orchestration are intentionally omitted.

Before you start

  • Use a clean, supported Ubuntu server with root or sudo access.
  • Point app.example.com to the server before requesting a public TLS certificate.
  • Replace every value written as CHANGE_ME and store the generated credentials in a password manager.
  • Take a snapshot before changing an existing installation.
  • A browser-login username and strong password; the playbook enables both Flowise credentials and Nginx Basic Authentication.
  • Enough memory for the flows and models you intend to use.
Important: The current playbook runs Flowise as root. For a hardened manual deployment, use a dedicated system user if compatible with your Flowise integrations and file-access requirements.

What the AppStore installation creates

  • Node.js 20 and global npm package flowise
  • Flowise service flowiseai.service on port 4000
  • Environment file in the global Flowise package directory
  • Nginx Basic Authentication and TLS termination

1. Install Node.js 20 and web packages

sudo apt update
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt install -y nodejs build-essential nginx apache2-utils certbot python3-certbot-nginx ufw fail2ban
sudo npm install -g flowise

2. Create the Flowise environment

The playbook stores this beside the global package. Protect it because integrations may add secrets later.

sudo install -d -m 0755 /usr/local/lib/node_modules/flowise/logs
sudo nano /usr/local/lib/node_modules/flowise/.env
PORT=4000
HTTPS=false
FLOWISE_USERNAME=admin
FLOWISE_PASSWORD=CHANGE_ME_STRONG_PASSWORD
sudo chmod 600 /usr/local/lib/node_modules/flowise/.env

3. Create the systemd service

Set WorkingDirectory to the installed Flowise package and load its environment file.

sudo nano /etc/systemd/system/flowiseai.service
# ExecStart=/usr/bin/npx flowise start
# WorkingDirectory=/usr/local/lib/node_modules/flowise
# EnvironmentFile=/usr/local/lib/node_modules/flowise/.env
sudo systemctl daemon-reload
sudo systemctl enable --now flowiseai

4. Configure Nginx authentication and TLS

Proxy to http://127.0.0.1:4000. Set 1200-second proxy timeouts for long-running flows and bypass Basic Auth for the ACME challenge path.

sudo htpasswd -c /etc/nginx/.htpasswd-app.example.com admin
sudo nano /etc/nginx/sites-available/app.example.com
sudo ln -s /etc/nginx/sites-available/app.example.com /etc/nginx/sites-enabled/app.example.com
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d app.example.com -m admin@example.com --agree-tos --redirect

Important files and data

  • Environment: /usr/local/lib/node_modules/flowise/.env
  • Service: /etc/systemd/system/flowiseai.service
  • Nginx site: /etc/nginx/sites-available/app.example.com
  • Browser credentials: /etc/nginx/.htpasswd-app.example.com

Health checks and logs

Run these checks after installation and after each upgrade:

sudo systemctl status flowiseai nginx --no-pager
sudo journalctl -u flowiseai -n 100 --no-pager
curl -I http://127.0.0.1:4000
sudo nginx -t

Routine maintenance

Review release notes and take a backup or snapshot before upgrading. Use the following playbook-aligned commands as the starting point:

sudo npm list -g flowise
# Back up first, then install the selected release rather than upgrading blindly.
sudo npm install -g flowise@SELECTED_VERSION
sudo systemctl restart flowiseai

Backup scope

  • Flowise application data/database and uploaded files
  • Flowise environment and integration-secret configuration
  • Nginx site and htpasswd file

A usable backup needs both application files and application data. Test restoration on a separate server; an untested backup is not a recovery plan.

Troubleshooting

  • Confirm DNS with dig +short app.example.com before retrying Certbot.
  • Test the web-server configuration before reloading it: sudo nginx -t or sudo apache2ctl configtest.
  • Check free space with df -h and listening ports with sudo ss -ltnup.
  • If a service fails, inspect its systemd journal before changing configuration.
  • A 502 response usually means Flowise is not listening on port 4000; check the service journal.
  • If long flows time out, confirm the Nginx proxy timeout values match the playbook’s 1200-second settings.

Security notes

  • Do not paste passwords, API keys, repository credentials, private keys, or access tokens into tickets or public logs.
  • Expose only the documented public ports. Keep database and application backend ports bound to localhost or a private network.
  • Keep SSH access working before enabling UFW, then allow only the ports this guide lists.
  • Renewal can be tested safely with sudo certbot renew --dry-run where Certbot manages TLS.
  • 0 Vatirhisi va Kume Leswi swi ni Vupfuni
Xana nhlamulo leyi yi pfunile?

Swihloko leswi Fambelanaka

ERPNext v15

Install and maintain ERPNext v15 on Ubuntu ERPNext v15 is installed with Frappe Bench, Node.js...

Open-EMR v7.0.3

Install and maintain Open-EMR v7.0.3 on Ubuntu OpenEMR 7.0.3 is built from the rel-7.0.3 source...

ERPNext v14

Last Updated: 31 August 2025Applies to: Ubuntu 24.04 LTS (fresh server recommended)Skill Level:...

WordPress

Install and maintain WordPress on Ubuntu WordPress is installed below a domain-specific Apache...

Joomla

Install and maintain Joomla on Ubuntu Joomla is installed from the latest selected release under...