# Multinode blank page

**URL:** <https://forum.storj.io/t/multinode-blank-page/28330>\
**Category:** troubleshooting\
**Tags:** multi-node-dashboard, multiple-nodes\
**Created:** [October 23, 2024, 11:41pm UTC](https://forum.storj.io/t/multinode-blank-page/28330 "2024-10-23T23:41:57Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [October 23, 2024, 11:41pm UTC](https://forum.storj.io/t/multinode-blank-page/28330/1 "2024-10-23T23:41:57Z")

</div>

Hi all,  
Main question: is multinode dashboard maintained, does it have any sense to keep try to launch it?  
Earlier, i had bug when some node was offline, dashboard page was blank, now even when all nodes are online it is blank(Tried to pull new image / rm old container / created new one, resulted in blank page always).

Here is command im using to launch it:  
docker run -d --restart unless-stopped   
-p 15002:15002/tcp   
–mount type=bind,source=“/opt/multinode/”,destination=/app/config   
–name multinode storjlabs/multinode:latest  
Docker has access to opt folder, cause after container launch i see that it adds 2 files related to DB connection.  
Here is logs after container launch:

 ![image](https://storj-s3.bcdn.literatehosting.net/original/3X/b/6/b639bbaa9d7711a3070b4a9c3107cf6e96cada93.png)  
And here is when i try to open dashboard in browser:  
 ![image](https://storj-s3.bcdn.literatehosting.net/original/3X/3/c/3c9338c79dbf0d851355a9e76e49ded29cdaf11f.jpeg)  
i believe this one is somehow related to cert (im using nginx proxy manager/lets encrypt cert to get access to dashboard), strange that browser tells that everything is ok with it.

with http i got more interesting error:

 ![image](https://storj-s3.bcdn.literatehosting.net/original/3X/3/3/33d3b8d89207067b522da19e10167abfcf713310.jpeg)

---

<div class="post-metadata">

**Author:** ![arrogantrabbit](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/arrogantrabbit/32/11200_2.png) [@arrogantrabbit](https://forum.storj.io/u/arrogantrabbit)\
**Post date:** [October 24, 2024, 12:16am UTC](https://forum.storj.io/t/multinode-blank-page/28330/2 "2024-10-24T00:16:42Z")

</div>

> [@Backend Issues to work on](https://forum.storj.io/t/backend-issues-to-work-on/27737/14):
>
> I fixed the port offline issue and you can add any number of nodes. I think you need an update. Although there may be some bugs because some of my PR’s haven’t merged yet. They are waiting for more than 2 weeks now. Most of them have 1 approval but waiting for another one.

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [October 24, 2024, 6:45am UTC](https://forum.storj.io/t/multinode-blank-page/28330/3 "2024-10-24T06:45:03Z")

</div>

> [@surprise00](#):
>
> ![image](https://storj-s3.bcdn.literatehosting.net/original/3X/3/c/3c9338c79dbf0d851355a9e76e49ded29cdaf11f.jpeg)

You need to check logs of all your nodes to figure out, which one could publish the same port (`-e ADDRESS` option for docker or `contact.external-address:` in the `config.yaml` for nodes installed as a service).

---

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [October 24, 2024, 9:18am UTC](https://forum.storj.io/t/multinode-blank-page/28330/4 "2024-10-24T09:18:58Z")

</div>

i have multiple nodes in 4 locations with same ports (unique ports on specific location).  
ports should be unique on all of them, is this a problem?

---

<div class="post-metadata">

**Author:** ![Roberto](https://storj.bcdn.literatehosting.com/letter_avatar/roberto/32/5_5575768a8748004e209b776fc1b2916d.png) [@Roberto](https://forum.storj.io/u/Roberto)\
**Post date:** [October 24, 2024, 9:56am UTC](https://forum.storj.io/t/multinode-blank-page/28330/5 "2024-10-24T09:56:49Z")

</div>

No, if the IP is different, I have 2 nodes on port 14002 and two on port 14003, different machines, and the MND works  
The ports to the outside must be different, 28967, 28968…  
but if you are on a single IP you necessarily have to change them, but you have 4 IP’s….

---

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [October 24, 2024, 11:43am UTC](https://forum.storj.io/t/multinode-blank-page/28330/6 "2024-10-24T11:43:44Z")

</div>

Ports per location are unique, like:  
ip1:28967, ip1:28968  
ip2:28967, ip2:28968, ip3:28969  
and so on.

will try to re setup everything from scratch…  
wanted to avoid procedure of adding 18 nodes back inside it.

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [October 25, 2024, 2:36am UTC](https://forum.storj.io/t/multinode-blank-page/28330/7 "2024-10-25T02:36:21Z")

</div>

No need to setup everything from scratch. It could be a mentioned problem with MND itself, like when you registered the node with IP1:28967, then changed it to IP1:28968, and started a new one on a previously used IP1:28967.  
But MND would think that IP1:28967 is still belongs to the node1. In that case you need to re-add this node, i.e. remove from the MND and add it back but with correct IP and port.

> [@Roberto](#):
>
> I have 2 nodes on port 14002 and two on port 14003, different machines, and the MND works

MND uses the node’s port, not the Single Node Dashboard’s port.

---

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [October 26, 2024, 12:03am UTC](https://forum.storj.io/t/multinode-blank-page/28330/8 "2024-10-26T00:03:28Z")

</div>

oh dear… rlly, i did a swap for some nodes between locations A\<\>B.  
i will need to setup it from scratch cause i cant make any changes in nodes list, MND page is blank, cant do anything with it…

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [October 26, 2024, 6:33am UTC](https://forum.storj.io/t/multinode-blank-page/28330/9 "2024-10-26T06:33:17Z")

</div>

You actually can use the SQLite binary to modify its database, or take a binary, built by @ptdatta .

With a database change:

1. Stop multinode
2. execute:

```auto
docker exec -it --rm -v /opt/multinode/:/data sstc/sqlite3 sqlite3 master.db

```

it would open an SQLite prompt `sqlite>` and you may see what’s values you provided:

```auto
select name, public_address from nodes;

```

then update them, e.g.

```auto
update nodes set public_address="your_address:28968" from nodes where public_address="your_address:28967";

```

and exit

```auto
.exit

```

---

<div class="post-metadata">

**Author:** ![ptdatta](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/ptdatta/32/1133_2.png) [@ptdatta](https://forum.storj.io/u/ptdatta)\
**Post date:** [October 26, 2024, 7:48am UTC](https://forum.storj.io/t/multinode-blank-page/28330/10 "2024-10-26T07:48:19Z")

</div>

It you want any features or find bugs in the multinode UI. Please add it [here](https://github.com/storj/storj/issues/7177) I will gradually work on them.  
Currently I am little occupied so I am inactive to the community.

---

<div class="post-metadata">

**Author:** ![ptdatta](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/ptdatta/32/1133_2.png) [@ptdatta](https://forum.storj.io/u/ptdatta)\
**Post date:** [October 28, 2024, 11:18pm UTC](https://forum.storj.io/t/multinode-blank-page/28330/11 "2024-10-28T23:18:37Z")

</div>

Blank Page PR is now live.

@clement can you please review [these PRs](https://github.com/storj/storj/pulls/ptdatta), they are waiting for so long.

---

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [October 31, 2024, 8:22pm UTC](https://forum.storj.io/t/multinode-blank-page/28330/12 "2024-10-31T20:22:23Z")

</div>

Interesting, tried to add node on completely new multinode setup:  
In multinode container log i found next:

```auto
2024-10-31T20:05:06Z ERROR console:endpoint controllers/nodes.go:76 could not add node {"error": "nodes: rpc: tcp connector failed: rpc: tls peer certificate verification: tlsopts: peer ID did not match requested ID", "errorVerbose": "nodes: rpc: tcp connector failed: rpc: tls peer certificate verification: tlsopts: peer ID did not match requested ID\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:190"}
storj.io/storj/multinode/console/controllers.(*Nodes).Add
        /go/src/storj.io/storj/multinode/console/controllers/nodes.go:76
net/http.HandlerFunc.ServeHTTP
        /usr/local/go/src/net/http/server.go:2171
github.com/gorilla/mux.(*Router).ServeHTTP
        /go/pkg/mod/github.com/gorilla/mux@v1.8.0/mux.go:210
net/http.serverHandler.ServeHTTP
        /usr/local/go/src/net/http/server.go:3142
net/http.(*conn).serve
        /usr/local/go/src/net/http/server.go:2044

```

Node online, dashboard accessible, and im pretty sure that everything is ok with it.

In same time second node from this machine was successfully added.  
node 1 port = 28967(default)  
node 2 port = 28968  
Checked configs files for both nodes and this param same:

```auto
# the public address of the node, useful for nodes behind NAT
contact.external-address: ""

```

Nodes in docker looks like:  
 ![image](https://storj-s3.bcdn.literatehosting.net/optimized/3X/3/e/3eba98293e9d297710d83d3b5cf48c6789884fe3_2_690x19.png)

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [November 1, 2024, 7:45am UTC](https://forum.storj.io/t/multinode-blank-page/28330/13 "2024-11-01T07:45:49Z")

</div>

This may mean, that you still have an old node in the database, which was with a different identity, but with the same external address and port as a new one.

---

<div class="post-metadata">

**Author:** ![surprise00](https://storj.bcdn.literatehosting.com/letter_avatar/surprise00/32/5_5575768a8748004e209b776fc1b2916d.png) [@surprise00](https://forum.storj.io/u/surprise00)\
**Post date:** [November 1, 2024, 3:21pm UTC](https://forum.storj.io/t/multinode-blank-page/28330/14 "2024-11-01T15:21:04Z")

</div>

100% new setup.  
so i deleted old container, and created new one and pointed to new folder:

```auto
docker run -d --restart unless-stopped \
    -p 15002:15002/tcp \
    --mount type=bind,source="/opt/multinode/",destination=/app/config \
    --name multinode storjlabs/multinode:latest

```

and new one:

```auto
docker run -d --restart unless-stopped \
    -p 15002:15002/tcp \
    --mount type=bind,source="/opt/multinode1/",destination=/app/config \
    --name multinode storjlabs/multinode:latest

```

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [November 2, 2024, 3:15am UTC](https://forum.storj.io/t/multinode-blank-page/28330/15 "2024-11-02T03:15:38Z")

</div>

In that case the provided NodeID and the external address and port doesn’t match. I.e. you copied NodeID from the one node, but provided either API key or external address and port from another one.  
By the way, if your multinode dashboard resides in the same LAN, you may use the local IP instead of external one. Just make sure that you specified a correct port, NodeID and API key.  
I would recommend to use

```auto
docker exec -it storagenode /app/bin/storagenode info --config-dir config --identity-dir identity

```

and

```auto
docker ps storagenode

```

to see the external port (it would be on the left side of the port mapping).
