# How to ngrok dashboard ui

**URL:** <https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298>\
**Category:** Dashboard\
**Created:** [27 January 2019 09:14 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298 "2019-01-27T09:14:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [27 January 2019 09:14 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/1 "2019-01-27T09:14:16Z")

</div>

Hi, yes sorry, I realise ngrok isn't node red, but since it is recommended in the security banner, I thought info may help others stuck like I am.

So I followed the steps setting up ngrock on the pi, made ngrock account, auth token pasted on pi, set server location, start on port 1880 and works great with one issue, only gives the flow editor not the dashboard ui I was hoping to see, with no apparent way to append port info.

Is there something simple I keep missing in the docs? Or is there a method to change the dashboard ui from port 1880 so flow editor and dash ui are on separate ports?

---

<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:** [27 January 2019 10:18 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/2 "2019-01-27T10:18:57Z")

</div>

> [@nodepi](#):
>
> Or is there a method to change the dashboard ui from port 1880 so flow editor and dash ui are on separate ports?

Dashboard uses the same instance of ExpressJS that Node-RED does so it will always be the same port. uibuilder does the same.

I can't immediatly see why the Dashboard isn't appearing. While I don't use NGROK, a quick look at the docs don't suggest any issues. Have you looked at the logs to see what might be happening?

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [27 January 2019 22:58 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/3 "2019-01-27T22:58:07Z")

</div>

Which logs do you suggest? ngrok only seems to have a .yml file

---

<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:** [27 January 2019 22:59 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/4 "2019-01-27T22:59:49Z")

</div>

I only took a quick look at the docs but it looks like it has an admin ui available via the browser?

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [27 January 2019 23:24 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/5 "2019-01-27T23:24:19Z")

</div>

Yeah, I tried to connect to that web interface and it wouldn't connect, I will try again now

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [27 January 2019 23:59 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/6 "2019-01-27T23:59:36Z")

</div>

So this is what I am working with, is this what others sees in theirs? To me there should be 4 'Forwarding' addesses not 2

 ![ngrock%20output](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/4/4c77ab747aa945cb54fa8f57f475bbbf40dae017.png)

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [28 January 2019 00:10 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/7 "2019-01-28T00:10:06Z")

</div>

Is it possible to disable the flow editor so the port only has the dashboard ui?

---

<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:** [28 January 2019 00:29 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/8 "2019-01-28T00:29:52Z")

</div>

I think so but I don't know how I'm afraid. Sorry.

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [28 January 2019 00:46 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/9 "2019-01-28T00:46:09Z")

</div>

Found it in docs: edit in settings.js

disableEditor

if set to `true` , prevents the editor UI from being served by the runtime. The admin api endpoints remain active. Default: `false` .

So I did that but hasn't helped, I might just need to nag ngrock support

 ![ngrock%20ui](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/3/3ca0a3a529d8a9ae9287f08667411cce834612b5.png)

---

<div class="post-metadata">

**Author:** ![Andrei](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andrei/32/10446_2.png) [@Andrei](https://discourse.nodered.org/u/Andrei)\
**Post date:** [28 January 2019 16:06 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/10 "2019-01-28T16:06:35Z")

</div>

I installed ngrok in a fresh raspberry pi today. The installation was smooth and the tunnel works perfectly. I can confirm that the access to the dashboard is transparent. It is not necessary to make any special configuration or hack. I can´t figure out what could be the issue with your install since the session from your raspberry to ngrok is reported as online. Do you confirm that you can access the editor (via ngrok) but not the dashboard ? Perhaps a thing that is worth to check is authentication. I tested without configuring authentication.

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [30 January 2019 05:19 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/11 "2019-01-30T05:19:32Z")

</div>

Yes, mine only accessed the editor, I am reimaging the sd card and starting from scratch, perhaps I did some strange port blocking thing in the past, I tend to use the same image until things go completely south.

---

<div class="post-metadata">

**Author:** ![andrei-tatar](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andrei-tatar/32/3780_2.png) [@andrei-tatar](https://discourse.nodered.org/u/andrei-tatar)\
**Post date:** [30 January 2019 08:38 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/12 "2019-01-30T08:38:50Z")

</div>

You can also use nginx or apache to do a reverse proxy from `:1880/ui` to a different port so that you only expose the dashboard and don't need the `/ui` path.

Something like this for nginx, so you would ngrok the port 3000 (didn't test this):

```auto
server {
    listen 3000;
    location / {
        proxy_pass http://127.0.0.1:1880/ui;
    }
}

```

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [31 January 2019 06:36 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/13 "2019-01-31T06:36:32Z")

</div>

Thank you very much for this, my fresh install hasn't changed the out come, I wonder if using a raspberry pi 0 w has something to do with it. I have been trying to work out how to rev proxy with flask, much more straight forward with nginx, will try it now

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [31 January 2019 08:56 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/14 "2019-01-31T08:56:23Z")

</div>

Ok, I am guessing that I put your code in /etc/nginx/nginx.conf, getting errors like:

Failed to complete tunnel connection  
The connection to [https://2914dc7a.au.ngrok.io](https://2914dc7a.au.ngrok.io) was successfully tunneled to your ngrok client, but the client failed to establish a connection to the local address localhost:3000.

Make sure that a web service is running on localhost:3000 and that it is a valid address.

The error encountered was: dial tcp [::1]:3000: getsockopt: connection refused

---

<div class="post-metadata">

**Author:** ![andrei-tatar](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andrei-tatar/32/3780_2.png) [@andrei-tatar](https://discourse.nodered.org/u/andrei-tatar)\
**Post date:** [31 January 2019 09:25 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/15 "2019-01-31T09:25:06Z")

</div>

> [@nodepi](#):
>
> Make sure that a web service is running on localhost:3000 and that it is a valid address.

I guess you installed nginx. Yes, that needs to be added in the nginx.conf. What happens when you go to localhost:3000? Do you have something in the nginx logs?

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [31 January 2019 10:34 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/16 "2019-01-31T10:34:29Z")

</div>

So does it need to be appended to nginx.conf or does it need to overwrite something? localhost:3000 doesn't work in browser I have been trying all different ways (ipaddr:1880/ui, pi.local:1880/ui) and pasting it in place of [http://127.0.0.1:1880/ui](http://127.0.0.1:1880/ui). Where are the nginx logs? I can't locate them. I will be back in 8 hrs, need sleep.

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [1 February 2019 03:48 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/17 "2019-02-01T03:48:53Z")

</div>

Ok, found the logs: cd /var/log/nginx/ nothing in logs, currently watching nginx proxy tutorials.

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [1 February 2019 07:36 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/18 "2019-02-01T07:36:32Z")

</div>

systemctl status nginx.service is more revealing,

pi@pi:/etc/nginx $ systemctl status nginx.service  
● nginx.service - A high performance web server and a reverse proxy server  
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en  
Active: failed (Result: exit-code) since Fri 2019-02-01 18:31:54 AEDT; 21s ag  
Docs: man:nginx(8)  
Process: 9192 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master\_process

Feb 01 18:31:54 pi systemd[1]: Starting A high performance web server and a reve  
Feb 01 18:31:54 pi nginx[9192]: nginx: [emerg] "server\_name" directive is not al  
Feb 01 18:31:54 pi nginx[9192]: nginx: configuration file /etc/nginx/nginx.conf  
Feb 01 18:31:54 pi systemd[1]: nginx.service: Control process exited, code=exite  
Feb 01 18:31:54 pi systemd[1]: Failed to start A high performance web server and  
Feb 01 18:31:54 pi systemd[1]: nginx.service: Unit entered failed state.  
Feb 01 18:31:54 pi systemd[1]: nginx.service: Failed with result 'exit-code'.

---

<div class="post-metadata">

**Author:** ![nodepi](https://avatars.discourse-cdn.com/v4/letter/n/53a042/32.png) [@nodepi](https://discourse.nodered.org/u/nodepi)\
**Post date:** [1 February 2019 08:18 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/19 "2019-02-01T08:18:42Z")

</div>

Plan B is to put dash in an iframe in nginx html and point ngrok at that, much messier than I would like but at least I know it works

---

<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:** [1 February 2019 09:01 UTC](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298/20 "2019-02-01T09:01:37Z")

</div>

If you run  
`tail -f /var/log/nginx/error.log`  
then in another terminal  
`sudo systemctl restart nginx`  
Does nothing helpful appear?

[Next page](https://discourse.nodered.org/t/how-to-ngrok-dashboard-ui/7298.md?page=2)
