- docs
- FlowFuse User Manuals
- Using FlowFuse
- Getting Started
- Static asset service
- Bill of Materials
- FlowFuse Concepts
- Changing the Stack
- Custom Hostnames
- Device Groups
- DevOps Pipelines
- Environment Variables
- FlowFuse Assistant
- FlowFuse File Nodes
- FlowFuse Persistent Context
- FlowFuse Project Nodes
- High Availability mode
- HTTP Access Tokens
- Instance Settings
- Logging
- Shared Team Library
- Snapshots
- Team Broker
- Teams
- User Settings
- FlowFuse API
- Migrating a Node-RED project to FlowFuse
- Device Agent
- Device Agent
- FlowFuse Device Agent Introduction
- Quick Start
- Installation
- Quick Start with Web UI
- Register your Device
- Running the Agent
- Deploying your Flows
- Hardware Guides
- FlowFuse Cloud
- FlowFuse Cloud
- FlowFuse Self-Hosted
- Quick Start
- Installing FlowFuse
- Overview
- Configuring FlowFuse
- DNS Setup
- Docker install
- Docker from AWS Market Place
- Docker on Digital Ocean
- Add Project Stacks on Docker
- Docker Engine on Windows
- Email configuration
- First Run Setup
- FlowFuse File Storage
- Install FlowFuse on Kubernetes
- Upgrading FlowFuse
- Administering FlowFuse
- Administering FlowFuse
- Configuring Single Sign-On (SSO)
- Licensing
- Monitoring
- Telemetry
- User Management
- Support
- Community Support
- Premium Support
- Debugging Node-RED issues
- Contributing
- Contributing to FlowFuse
- Introduction
- Adding Template Settings
- API Design
- Creating debug stack containers
- Database migrations
- FlowFuse Architecture
- Local Install
- State Flows
- Device Editor
- Invite External Users
- User Login Flows
- Reset Password Flow
- Project Creation
- Instance states
- User Sign up Flow
- Team creation Flow
- Team Broker
- Working with Feature Flags
# Upgrading FlowFuse
If you are upgrading an existing FlowFuse installation, this page will list any particular requirements needed to upgrade to a given level.
If you are upgrading across multiple versions, make sure you check the requirements for each version you are upgrading across.
Note that we do not support downgrading FlowFuse to previous levels once an upgrade has been performed.
# General guideline
Details of how to upgrade can be found for each deployment model:
# Upgrading to 2.6.0
# Required AWS EKS configuration change
This release introduces the new Embedded Editor which integrates the Node-RED editor with the FlowFuse dashboard when using Node-RED 4.0. This has required some changes to be made on how certain HTTP headers are passed between the NGINX Ingress controller and AWS NLB.
The following configuration change must be applied otherwise users will not be able to login to Node-RED 4.0 instances.
The following configuration needs to be added in the values passed to the ingress-nginx helm chart. See full configuration for the reference.
controller:
config:
use-proxy-protocol: true
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: proxy_protocol_v2.enabled=true
externalTrafficPolicy: Cluster
The Proxy Protocol feature will be enabled only on newly created Target Groups. To enable the Proxy Protocol on an existing Target Group, manual intervention is required. For detailed instructions, please refer to the official AWS documentation.
# Persistent Storage
As part of this release there is a new option for Persistent File Storage for Kubernetes based deployments. This change removes the need to use the customised File Nodes and the FlowFuse File Server by mounting a Persistent Volume into the Pods running the instances.
To enable this feature the following needs to be created
- A Kubernetes StorageClass that points to storage provider that can dynamically provision new Persistent Volumes. e.g. the AWS EFS CSI driver
- Pass the following values to the FlowFuse Helm Chart
Where size is the default size for the volume.forge: persistentStorage: enabled: true storageClass: '<name of StorageClass>' size: '5Gi'
Details for how to setup a AWS EFS backed StorageClass can be found on the aws-efs-csi-driver site.
# Upgrading to 2.0.0
⚠️ Breaking changes introduced!
Together with new application features, this release 2.0.0 introduces breaking changes in Flowfuse Helm chart. If you are managing your local Flowfuse instance using our Helm Chart, please refer to the upgrade section of the Kubernetes installation guide or the Helm Chart README.md for more details.
# Upgrading to 1.10
Endpoint Rate Limiting is now available to FlowFuse. This is disabled by default, but can be enabled by setting the rate_limits.enabled
config setting to true
. The documentation for this is available here.
The TeamType concept was expanded in this release. It is used to control what Instance Types are available for different teams, as well as any additional limits that should be applied. When creating new Instance Types, they must now be manually enabled for the Team Types on the platform.
# Upgrading to 1.5
The main change in this release was a change in our terminology around the individual Node-RED instances. We have introduced the Application concept as a way to group individual Node-RED instances (what we previously called Projects).
The term 'Project' is being phased out. You may still see it crop up, such as in some of the external APIs, but we're working our way through removing it.
# Upgrading to 1.3
To enable the Team Library and FlowFuse-based Authentication of HTTP routes each Node-RED instance will need to be updated to the latest Stack.
# Persistent Context added
The new Persistent Context feature is available to projects when running with a premium license.
This feature requires additional configuration to be added to the File Server component that was introduced in FlowFuse 1.1.
Details of how to configure this can be found at the following links:
# Upgrading to 1.1
# File Server added
This release introduces a system for supporting persistent file storage when running on Docker or Kubernetes (it will also work with LocalFS, but is not required as projects have access to the hosts filesystem).
Details of how to configure this can be found at the following links:
# Upgrading to 0.8
# MQTT Broker added
This release introduces an MQTT Broker into the FlowFuse platform used to communicate between devices and the core platform.
For LocalFS users, they will need to manually setup the broker and ensure it is properly configured. The documentation for this is available here
# LocalFS Users
With the 0.8 release we have updated the version of the SQLite3 module used by the localfs container driver. We are moving from v5.0.2 to v5.0.8.
There appears to be a clash with the bcrypt module when doing an in place upgrade of the SQLite3 module that gives an error similar to the following:
npm ERR! path /opt/share/projects/flowforge/sqlite-test/node_modules/sqlite3
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build
npm ERR! sh: line 1: node-pre-gyp: command not found
If you see this then the simplest fix is to remove the node_modules
directory and reinstall the modules.
# Project Nodes
This release adds support for the new Project Link nodes that can be used to send messages between projects seamlessly.
These nodes require the MQTT Broker to be properly configured.
To deploy flows using these nodes to a Device will require the Device to be running the latest 0.2.0 release. They will also need to have their credentials regenerated once the MQTT Broker has been added.
# Upgrading to 0.7
The 0.7 release introduces the ProjectType concept.
After upgrading to 0.7, an administrator must perform the following tasks before users will be able to create new projects:
- Create a Project Type.
- On the Administrator Settings -> Project Types page, click 'Create project type'.
- Provide a name and description. If you have billing enabled, copy in the default Stripe Product/Price IDs from your runtime settings file.
- Click 'create'
- Assign your existing stacks to that type
- On the Administrator Settings -> Stacks page, edit each existing stack via the drop-down menu in the table.
- As a one-time action, set its Project Type to the one just created.
- Click 'save'. This will update the stack and all existing projects to be associated with the new Project Type