- docs
- FlowFuse User Manuals
- Using FlowFuse
- Getting Started
- Static asset service
- Bill of Materials
- FlowFuse Concepts
- Changing the Stack
- Custom Hostnames
- Custom Node Packages
- Device Groups
- DevOps Pipelines
- Environment Variables
- FlowFuse Assistant
- FlowFuse File Nodes
- FlowFuse Project Nodes
- High Availability mode
- HTTP Access Tokens
- Instance Settings
- Logging
- persistent-context
- 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
- Register your Remote Instance
- 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
# Custom Node Packages
FlowFuse has access to the wide range of Node-RED nodes listed in the public catalogue. But occasionally there will be the need for a custom node for a situation that is specific to your Team.
If you decide to develop your own nodes, you will need somewhere to host both the node and a Node-RED catalogue file. FlowFuse has two solutions for this:
- FlowFuse Hosted Nodes - Use the private NPM registry hosted by FlowFuse to store and manage your custom npm packages.
- Third-Party NPM Registries - If you already have a private npm registry, you can enable access to these in your Instance's settings.
# FlowFuse Hosted Nodes
If you want to create a Node-RED node for private use by Instances in your FlowFuse Team then you can publish them to the FlowFuse Custom Node Registry (available to Teams and Enterprise level teams on FlowFuse Cloud).
# Publishing Nodes
After developing your node you can publish it to your Teams Custom Nodes registry with the following steps
# Authenticating
Before publishing to the registry you need to authenticate. This step should only need to be done once.
The credentials can be found by navigating to the "Custom Nodes" tab under the Team Library and clicking on the "Publish" button.
npm login --registry=https://registry.flowfuse.cloud
# Packaging
There are steps required to ensure your node is correctly packaged for the FlowFuse Custom Nodes registry
- Make sure the package name contains the correct scope prefix e.g.
@flowfuse-[team id]/node-name
. The correct prefix will be shown on the in the FlowFuse application - Add a
publishConfig
section with aregistry
entry
e.g. for a Team with ID 6Rag1kQj4k
{
"name": "@flowfuse-6Rag1kQj4k/bar",
"version": "0.0.1",
"description": "...",
"publishConfig": {
"registry": "https://registry.flowfuse.cloud"
},
...
}
# Publishing
In the same directory as the package.json
file run the following command
npm publish
Once published you should see the Node listed in the "Custom Nodes" section of the Team Library.
# Installing Nodes
Any packages uploaded to the Team Library will be published to your Instances under a custom catalogue with the name "FlowFuse Team [team name] Catalogue"
# 3rd Party NPM Registries or Private npmjs.org packages
The following features are available to Team and Enterprise users of FlowFuse Cloud.
# NPM Registries
If you have already published packages to an existing NPM Registry then you can enable access to this by adding the required values to a `.npmrc" file in the Instance Settings.
This can include authentication tokens to access private packages.
# Node-RED Catalogues
In order to be able to install packages in the Node-RED editor they need to in a Node-RED Catalogue file that is loaded from a HTTPS URL. You can supply a list of Catalogue URLs in the Instance Settings.