# MQTT Brokers publicly available

**URL:** <https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346>\
**Category:** General\
**Tags:** mqtt\
**Created:** [4 January 2025 08:45 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346 "2025-01-04T08:45:31Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 08:45 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/1 "2025-01-04T08:45:32Z")

</div>

Hello everybody, since I'm moving (or at least I'm willing to do) from my Digital Ocean VPS to a local hosted home server behind a Cloudflare Zero tunnel, I'm going to loose a fixed ip address for my Mosquitto MQTT Broker I've been using for years.  
Googling around...I'm lost in the number of free or paid solution for MQTT brokers, to be reachable outside my home network (pointing to an IP or DNS, it doesn't matter).  
Any suggestions ?  
I have something like 15 IOT modules laying around, and I have conducted a test on average messages over my MQTT Broker, we are talking of about 2 milion msgs/month; I can work on them to greatly reduce if necessary, most of them are just telemetry msgs from my Tasmotas.  
I can stand with a suitable free reliable service, or paid if necessary, if it is not more than the base DO VPS subscription fee (more or less 7$/month).  
Many thanks !!!

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [4 January 2025 08:56 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/2 "2025-01-04T08:56:50Z")

</div>

I've used the FREE plan on BeeBotte for a number of years as a remote MQTT broker.  
I think the FREE limit is 50K messages per day.

[https://beebotte.com/plans](https://beebotte.com/plans)

Couple of years ago I took out a FREE subscription to the Oracle Cloud and installed Mosquitto and Node-RED, which provides me with a private remote MQTT broker.

> **[Access Cloud Services for Free](https://www.oracle.com/uk/cloud/free/)**
>
> Oracle Cloud Free Tier provides enterprises with Always Free Cloud Services that can be used for an unlimited time.

And of course there is Hive MQTT that you might want to consider.

> **[HiveMQ Pricing – Self-Managed MQTT Platform & Full-Managed MQTT Platform](https://www.hivemq.com/pricing/)**
>
> Get pricing details for different plans of HiveMQ Cloud and HiveMQ Self-managed MQTT broker. Free trial available.

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [4 January 2025 09:39 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/3 "2025-01-04T09:39:30Z")

</div>

> [@dynamicdave](#):
>
> Couple of years ago I took out a FREE subscription to the Oracle Cloud and installed Mosquitto and Node-RED, which provides me with a private remote MQTT broker

Me too, and it's been very resilient and performed well over the years.  
Also, no cost whatsoever.  
It also can be used to support your home server, such as storing backups, acting as a watchdog, and other admin functions.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 10:49 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/4 "2025-01-04T10:49:33Z")

</div>

> [@maxuser74](#):
>
> a local hosted home server behind a Cloudflare Zero tunnel,

I haven't done it, but I believe that you can do mqtt across the cloudflare tunnel if you use the mqtt websockets access method. (wss://...). See this post for how to do it. [https://community.cloudflare.com/t/mqtt-trough-cloudflare-tunnel/503599](https://community.cloudflare.com/t/mqtt-trough-cloudflare-tunnel/503599)

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 11:53 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/5 "2025-01-04T11:53:03Z")

</div>

I know it is possibile via Websocket , but my devices (Tasmotas) aren’t capable of doing this.  
I could overcome using http commands via api, but MQTT has lot of advantages and is easier to implement.  
Thanks for the comment though

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 11:55 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/6 "2025-01-04T11:55:54Z")

</div>

Oh, are your tasmota devices remote but communicating directly through the internet?

---

<div class="post-metadata">

**Author:** ![iiLaw](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/iilaw/32/14782_2.png) [@iiLaw](https://discourse.nodered.org/u/iiLaw)\
**Post date:** [4 January 2025 11:56 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/7 "2025-01-04T11:56:08Z")

</div>

I use both HiveMQ and EMQX cloud free tiers.  
EMQX has the better UI and features it's hosted in the USA but hasn't been an issue.

[https://www.hivemq.com/company/get-hivemq/](https://www.hivemq.com/company/get-hivemq/)  
[https://www.emqx.com/en/cloud](https://www.emqx.com/en/cloud)

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 11:57 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/8 "2025-01-04T11:57:18Z")

</div>

You’re right.  
They require a fixed ip to connect to.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 11:59 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/9 "2025-01-04T11:59:34Z")

</div>

> [@maxuser74](#):
>
> They require a fixed ip to connect to.

They can be configured with a domain name can they not, rather than a fixed IP? But you are right that apparently tasmota does not support mqtt over wss, so my suggestion won't work.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 12:02 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/10 "2025-01-04T12:02:11Z")

</div>

> [@Colin](#):
>
> They can be configured with a domain name can they not, rather than a fixed IP?

Perhaps not, a quick search did not give me a direct answer to that.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 12:04 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/11 "2025-01-04T12:04:58Z")

</div>

> [@maxuser74](#):
>
> They require a fixed ip to connect to

I think that might be problematic with public MQTT servers. I suspect that they may not be guaranteed to have a fixed IP.

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 12:32 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/12 "2025-01-04T12:32:15Z")

</div>

I can also insert a Domain name server

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [4 January 2025 13:38 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/13 "2025-01-04T13:38:14Z")

</div>

So where are these 15 IOT modules ? Are they all on your local network ? If so then it may be easier to just run a broker locally on your home server as well.

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 13:48 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/14 "2025-01-04T13:48:35Z")

</div>

They are on two different nets in my two houses, and none of them (the two houses) have public IP reachable one from each other , because they are managed via 4g connections SIM with CgNat.  
I have Cloudflare tunnels, they allow only Websockets , but Tasmota don’t.  
So my choice is either run an MQTT broker by myself as today with Digital Ocean VPS with public IP or find a public service.  
Because the VPS is expensive to just run Mosquitto…I am looking for alternatives.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [4 January 2025 14:01 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/15 "2025-01-04T14:01:21Z")

</div>

As you have tunnels set up already then I would run a local broker at both sites and then use MQTT's broker to broker bridge to connect the two to share topics (being careful not to set up a loop). But yes you will need to open another port to use as the bridge can only use native MQTT transport (AFAIK).

EG see - [Mosquitto MQTT Bridge-Usage and Configuration](http://www.steves-internet-guide.com/mosquitto-bridge-configuration/)  
or [https://cedalo.com/blog/mosquitto-bridge-configuration/](https://cedalo.com/blog/mosquitto-bridge-configuration/)  
or [mosquitto.conf man page | Eclipse Mosquitto](https://mosquitto.org/man/mosquitto-conf-5.html)

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 14:41 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/16 "2025-01-04T14:41:06Z")

</div>

> [@dceejay](#):
>
> [https://cedalo.com/blog/mosquitto-bridge-configuration/](https://cedalo.com/blog/mosquitto-bridge-configuration/)

I am quite sure bridging involves having at least one public IP address in between; I don't have anywhere.  
Maybe, but my networking knowledge is very little, MQTT protocol can be "hacked" with something like this:

The local Server \>\> MQTT Broker \>\> **a translation to Http** \>\> an Http server \>\> Cloduflare tunnel \>\> the Internet \>\> Cloiudflare Tunnel \>\> An Http client \>\> **a translation from Http** \>\> MQTT Broker \>\> the other local server

But I don't know if this is feasible/secure.

---

<div class="post-metadata">

**Author:** ![Paul-Reed](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/paul-reed/32/66906_2.png) [@Paul-Reed](https://discourse.nodered.org/u/Paul-Reed)\
**Post date:** [4 January 2025 14:46 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/17 "2025-01-04T14:46:55Z")

</div>

You would get a fixed public IP address with a 'Free Forever Oracle server', mentioned above 😉

---

<div class="post-metadata">

**Author:** ![maxuser74](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/maxuser74/32/70109_2.png) [@maxuser74](https://discourse.nodered.org/u/maxuser74)\
**Post date:** [4 January 2025 14:49 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/18 "2025-01-04T14:49:23Z")

</div>

I'll certainly give it a try !  
Thanks to all of you guys, you're incredibly nice and patient ! 👏

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 January 2025 15:25 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/19 "2025-01-04T15:25:36Z")

</div>

> [@maxuser74](#):
>
> I have Cloudflare tunnels, they allow only Websockets , but Tasmota don’t.

If you run mosquitto locally at both sites then you should be able to bridge between then using wss through the tunnel. Or if mosquitto bridge does not support wss then run node-RED at each site and use node red to bridge the topics, using wss and mqtt.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [4 January 2025 19:08 UTC](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346/20 "2025-01-04T19:08:21Z")

</div>

> [@maxuser74](#):
>
> I am quite sure bridging involves having at least one public IP address in between; I don't have anywhere.

You should be able to use a sub-domain name rather than an IP address. Then you should have no problems. Especially if you let Cloudflare handle your DNS for you as well.

[Next page](https://discourse.nodered.org/t/mqtt-brokers-publicly-available/94346.md?page=2)
