# Using ENV vars to set MQTT server

**URL:** <https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244>\
**Category:** General\
**Tags:** docker, mqtt\
**Created:** [7 March 2023 15:32 UTC](https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244 "2023-03-07T15:32:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kitkat159](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kitkat159/32/66066_2.png) [@kitkat159](https://discourse.nodered.org/u/kitkat159)\
**Post date:** [7 March 2023 15:32 UTC](https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244/1 "2023-03-07T15:32:21Z")

</div>

Hello there,

I'm running Node-RED under Docker. In my flow, I want to subscribe to MQTT topics. The MQTT broker server should be read from the ENV vars:  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/2/0262f4f72c6030c4db1836ca353f42ebf37efb3d.png)

My broker only accepts connections via websocket (like `ws://[ip-address]/mqtt`). But the mqtt-in-node reads them as a string:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/7/f7e81caccdf57f70d5033d56edd556fafe6e0c0a.png)

Any ideas on how to fix this?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [7 March 2023 15:35 UTC](https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244/2 "2023-03-07T15:35:02Z")

</div>

Try `${MQTT_BROKER}`

[https://nodered.org/docs/user-guide/environment-variables](https://nodered.org/docs/user-guide/environment-variables)

> This only works if it replaces the entire property - it cannot be used to substitute just part of the value. For example, it is _not_ possible to use `CLIENT-${HOST}` .

---

<div class="post-metadata">

**Author:** ![kitkat159](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kitkat159/32/66066_2.png) [@kitkat159](https://discourse.nodered.org/u/kitkat159)\
**Post date:** [7 March 2023 15:43 UTC](https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244/3 "2023-03-07T15:43:14Z")

</div>

Ah it works! It also seemed like my docker-compose file didn't really create the environment variable which was also causing confusion.

Nevertheless, thank you 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [21 March 2023 15:43 UTC](https://discourse.nodered.org/t/using-env-vars-to-set-mqtt-server/76244/4 "2023-03-21T15:43:46Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
