You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: clarify EMQX broker dependency and dependent features
The docs still described Mosquitto as the platform broker and did not
say which features depend on EMQX specifically. Consolidate the
duplicated broker configuration sections, describe EMQX as the shipped
broker with Mosquitto as legacy, explain what the Team Broker is and
why it requires EMQX, state the self-hosted prerequisites for FlowFuse
Expert, and add the Kubernetes Mosquitto to EMQX upgrade note.
Copy file name to clipboardExpand all lines: docs/install/configuration.md
+18-15Lines changed: 18 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,8 +115,24 @@ Option | Description
115
115
116
116
## MQTT Broker configuration
117
117
118
-
By default, the platform runs without an MQTT broker. This restricts some features
119
-
in the platform, such as the Project Nodes, Device Actions and Remote Device Editing.
118
+
The platform uses an MQTT broker to provide real-time messaging between devices,
119
+
Node-RED instances and the platform. The broker shipped with the platform's
120
+
Docker Compose and Kubernetes installations is [EMQX](https://www.emqx.io/). It is
121
+
deployed and configured automatically by those installers.
122
+
123
+
By default, the platform runs without an MQTT broker. This restricts what features
124
+
are available:
125
+
126
+
- Without a broker: Project Nodes, Device Actions and Remote Device Editing are unavailable.
127
+
- The following features additionally require the platform broker to be EMQX, as they
128
+
rely on EMQX-specific capabilities (its authentication hooks, per-team topic
129
+
namespacing and management API): the [Team Broker](/docs/user/teambroker.md),
130
+
[FlowFuse Expert](/docs/user/expert/index.md) and real-time updates in the platform UI.
131
+
132
+
[Mosquitto](https://mosquitto.org/) is supported at a legacy level for existing
133
+
installations: core platform messaging works, but the EMQX-dependent features listed
134
+
above are unavailable. Replacing the platform broker with a different customer-supplied
135
+
broker is not supported.
120
136
121
137
If a broker has been setup in the platform, the following configuration is required:
122
138
@@ -216,19 +232,6 @@ Option | Description
216
232
`support.frontend.hubspot.trackingcode` | The numerical identifier within your [HubSpot Tracking Code](https://knowledge.hubspot.com/conversations/chat-widget-is-not-appearing-on-your-pages). Default: `null`
217
233
218
234
219
-
## MQTT Broker configuration
220
-
221
-
The platform depends on the [Mosquitto MQTT Broker](https://mosquitto.org/) to
222
-
provide real-time messaging between devices and the platform.
223
-
224
-
This is currently an *optional* component - the platform will work without the
225
-
broker, but some features will not be available.
226
-
227
-
Option | Description
228
-
---------------|--------------
229
-
`broker.url` | The full url to the platform broker. This is used by the platform and Node-RED instances to connect to the broker. For example: `mqtt://localhost:1883`.
230
-
`broker.public_url` | If set, this is the url provided to Devices to connect to the broker with. When running in a Docker or K8S environment, this url should be the externally addressable url the broker is provided on. This could be via WebSockets, for example: `ws://example.com:1884`
Copy file name to clipboardExpand all lines: docs/install/kubernetes/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ Before you begin, ensure you have the following:
92
92
-[Digital Ocean](digital-ocean.md)
93
93
- MicroK8s
94
94
5.**Ingress Controller:**[The Traefik](https://doc.traefik.io/traefik/) installed on the cluster.
95
-
6.**EMQX Operator:** This is required to install the required MQTT broker when the Team Broker features are enabled. Instructions for installing the operator can be found [here](https://docs.emqx.com/en/emqx-operator/latest/getting-started/getting-started.html#install-emqx-operator)
95
+
6.**EMQX Operator:** This is required to install the platform's MQTT broker when the broker is enabled. The broker provides device and instance communication, the Team Broker, and FlowFuse Expert. Instructions for installing the operator can be found [here](https://docs.emqx.com/en/emqx-operator/latest/getting-started/getting-started.html#install-emqx-operator)
96
96
97
97
For a production-ready environment, we also recommend:
98
98
***Database:** Prepare dedicated database on a external database server (see [FAQ](#how-to-use-external-database-server%3F) for more details)
Copy file name to clipboardExpand all lines: docs/user/expert/index.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,8 @@ FlowFuse Expert is the AI built into FlowFuse and the Node-RED editor. It is not
8
8
9
9
**FlowFuse Expert is automatically installed and available in all hosted and remote instances running within or connected to FlowFuse**, no manual installation or configuration required. For self-hosted Enterprise customers, FlowFuse Expert can be enabled on request. [Contact us](https://flowfuse.com/contact-us/) to get it set up on your infrastructure.
10
10
11
+
> **Note:** On self-hosted installations, FlowFuse Expert requires an Enterprise license and the platform's EMQX-based MQTT broker with the Team Broker feature enabled (see [MQTT Broker configuration](/docs/install/configuration.md)). Expert communicates through a bridge between your platform broker and FlowFuse's central Expert service, which is set up as part of enabling Expert. Installations running without EMQX, for example legacy Mosquitto-based installs, cannot enable Expert.
12
+
11
13
## Managing AI Features
12
14
13
15
**Team owners** can enable or disable all AI features for their team from the team settings page. When disabled, the Expert chat panel with all AI feature will get removed for that team. Running instances need to be restarted for the change to take full effect.
Copy file name to clipboardExpand all lines: docs/user/teambroker.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,22 @@ When FlowFuse is deployed with an Enterprise license from v2.11.0 onwards comes
8
8
9
9
This is a single shared MQTT broker, but each team has their own separate topic space and the ability to provision credentials for clients.
10
10
11
+
## What the Team Broker is
12
+
13
+
The Team Broker is a multi-tenant MQTT broker service built into the FlowFuse platform:
14
+
one broker instance, managed by the platform, where every team gets its own fully
15
+
isolated topic space and can provision client credentials in a self-service way. It
16
+
removes the need to install and operate a separate broker to move MQTT data between
17
+
devices, Node-RED instances and other clients.
18
+
19
+
Under the hood the Team Broker is provided by [EMQX](https://www.emqx.io/), and the
20
+
platform integrates with EMQX-specific capabilities for client authentication, per-team
21
+
topic isolation and bridging. The Team Broker cannot be backed by a different broker
22
+
(see [MQTT Broker configuration](/docs/install/configuration.md)). If your company
23
+
already operates its own MQTT broker, that broker can still be connected to FlowFuse
24
+
as an external broker to browse its topic hierarchy alongside the Team Broker, and
25
+
Node-RED instances can connect to it directly as a regular MQTT client.
26
+
11
27
## Foreword
12
28
FlowFuse offers zero config MQTT integration with the Team Broker via the [FlowFuse MQTT Nodes](/docs/user/mqtt-nodes/) that greatly simplifies the whole process by removing the need for manual configuration.
0 commit comments