# Use a OS variable

**URL:** <https://discourse.nodered.org/t/use-a-os-variable/46345>\
**Category:** General\
**Created:** [27 May 2021 13:13 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345 "2021-05-27T13:13:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pvanklink](https://avatars.discourse-cdn.com/v4/letter/p/bcef8e/32.png) [@pvanklink](https://discourse.nodered.org/u/pvanklink)\
**Post date:** [27 May 2021 13:13 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/1 "2021-05-27T13:13:13Z")

</div>

I like to use a os variable in my flow, the hostname.

So i added a line in (top) of settings.js  
(Nodered is installed as a docker container on a rpi 4b, with the latest image/container of NR)  
process.env.hostname = require('os').hostname();

in my flow i use  
var theHost = global.get('env').hostname();  
msg.payload = theHost;

and get: TypeError: Cannot read property 'hostname' of undefined

I also tried

var theHost = global.get('env');  
msg.payload = theHost.hostname;

same problem

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [27 May 2021 13:18 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/2 "2021-05-27T13:18:25Z")

</div>

Would in not be `var theHost = env.get("hostname")`?  
[https://nodered.org/docs/user-guide/environment-variables](https://nodered.org/docs/user-guide/environment-variables)

---

<div class="post-metadata">

**Author:** ![pvklink](https://avatars.discourse-cdn.com/v4/letter/p/46a35a/32.png) [@pvklink](https://discourse.nodered.org/u/pvklink)\
**Post date:** [27 May 2021 16:11 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/3 "2021-05-27T16:11:59Z")

</div>

> [@E1cid](#):
>
> `var theHost = env.get("hostname")` ?

Tried this (no os var but a self decalred var  
//added to top settings.js --\> process.env.MY\_ENV\_VAR = "Hello World";

var theHost = env.get("MY\_ENV\_VAR")  
msg.test=theHost;

return msg;

but no hello world, but strange content

return msg;

---

<div class="post-metadata">

**Author:** ![pvklink](https://avatars.discourse-cdn.com/v4/letter/p/46a35a/32.png) [@pvklink](https://discourse.nodered.org/u/pvklink)\
**Post date:** [27 May 2021 16:30 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/4 "2021-05-27T16:30:54Z")

</div>

> [@pvklink](#):
>
> env.get("MY\_ENV\_VAR")

@update:

Almost there!  
Added this in settings.js  
process.env.MY\_ENV\_VAR = "Hello World";

functionGlobalContext: {  
env:process.env  
},

and in the flow inject node i did:  
msg.payload = global.env.MY\_ENV\_VAR

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [27 May 2021 17:14 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/5 "2021-05-27T17:14:40Z")

</div>

> [@pvklink](#):
>
> Tried this (no os var but a self decalred var  
> //added to top settings.js --\> process.env.MY\_ENV\_VAR = "Hello World";
> 
> var theHost = env.get("MY\_ENV\_VAR")  
> msg.test=theHost;
> 
> return msg;

That should work - `env.get(...)` eventually does look up from `process.env`.

Did you remember to restart Node-RED after editing your settings file?

---

<div class="post-metadata">

**Author:** ![pvklink](https://avatars.discourse-cdn.com/v4/letter/p/46a35a/32.png) [@pvklink](https://discourse.nodered.org/u/pvklink)\
**Post date:** [27 May 2021 21:14 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/6 "2021-05-27T21:14:27Z")

</div>

🙂 yes i did, stopped and restarted the docker...

---

<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:** [26 July 2021 21:14 UTC](https://discourse.nodered.org/t/use-a-os-variable/46345/7 "2021-07-26T21:14:33Z")

</div>

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