# \[Tech Preview\] Storage Node Multinode Dashboard

**URL:** <https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749>\
**Category:** STORJLINGS\
**Created:** [February 12, 2021, 6:54pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749 "2021-02-12T18:54:01Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [February 25, 2021, 4:01pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/24 "2021-02-25T16:01:41Z")

</div>

> [@inoc](#):
>
> Tried to set it up on my Ubuntu 20.04 and I must admit I am not master of npm

Try this:

```auto
npm version
npm install -g n
n lts
npm version

```

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 25, 2021, 8:26pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/25 "2021-02-25T20:26:59Z")

</div>

thanks and I was able to set it up (needed to sudo the n its, but went well, few warnings only)  
however after creating identity successfully, the 3 multimode instructions end up as “multimode: command not found”…

> multinode ?: commande introuvable

---

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [February 25, 2021, 9:43pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/26 "2021-02-25T21:43:10Z")

</div>

`export PATH=$PATH:$HOME/go/bin`

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 26, 2021, 1:59pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/27 "2021-02-26T13:59:42Z")

</div>

littleskunk always on fire, thanks for the support  
unfortunately this did not go through  
I had issues compiling as my go was too old, updated to latest version, compiled again all with few warnings 😕

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 26, 2021, 2:00pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/28 "2021-02-26T14:00:35Z")

</div>

sounds like multimode is not recognised as an app, but identity was, and if I am not mistaken, identity is also go app?

---

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [February 26, 2021, 2:50pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/29 "2021-02-26T14:50:13Z")

</div>

`which identity` will tell you if it is running the identity binary in your go directory or from some other unexpected location. On my machine I have 3 different identity versions somewhere deep in my system. That can get confusing.

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 26, 2021, 4:38pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/30 "2021-02-26T16:38:55Z")

</div>

identity used is `/usr/local/bin/identity`

---

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [February 26, 2021, 5:02pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/31 "2021-02-26T17:02:23Z")

</div>

That is not the one you are currently compiling and it does mean that you will find the multinode binary in the path that I have written above.

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 26, 2021, 6:09pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/32 "2021-02-26T18:09:43Z")

</div>

thanks for your efforts @littleskunk but I believe I will give up now as not good enough in compiling stuff on Linux… will need to wait for a multimode dashboard for dummies" step by step tutorial. but much appreciated your support!

---

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [February 26, 2021, 6:26pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/33 "2021-02-26T18:26:51Z")

</div>

You are so close. You should have the binary already.

`cd $HOME/go/bin`

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 26, 2021, 6:30pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/34 "2021-02-26T18:30:45Z")

</div>

`which go` tells me /usr/local/go/bin/go  
sounds like something is going wrong when compiling but to be noticed, in the listed

> cd $HOME/multinode  
> go install ./cmd/multinode  
> go install ./cmd/identity  
> cd web/multinode  
> npm install  
> npm run build

I need to sudo the last `npm run build` and trust the issue comes from here as it seems I don’t have same path as su _vs_ as std user

---

<div class="post-metadata">

**Author:** ![inoc](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/inoc/32/1137_2.png) [@inoc](https://forum.storj.io/u/inoc)\
**Post date:** [February 27, 2021, 8:42am UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/35 "2021-02-27T08:42:48Z")

</div>

giving it another try, I get the below error when restarting all form beginning:

> nicolas@inoc-node:~/multinode/web/multinode$ npm run build  
> multinode@0.0.1 build /home/nicolas/multinode/web/multinode  
> vue-cli-service build  
> ERROR Error loading /home/nicolas/multinode/web/multinode/vue.config.js:  
> ERROR SyntaxError: Unexpected reserved word  
> /home/nicolas/multinode/web/multinode/node\_modules/stylelint/node\_modules/cosmiconfig/dist/Explorer.js:54  
> for await (const place of this.config.searchPlaces) {  
> ^^^^^  
> SyntaxError: Unexpected reserved word  
> at createScript (vm.js:80:10)  
> at Object.runInThisContext (vm.js:139:10)  
> at Module.\_compile (module.js:617:28)  
> at Object.Module.\_extensions…js (module.js:664:10)  
> at Module.load (module.js:566:32)  
> at tryModuleLoad (module.js:506:12)  
> at Function.Module.\_load (module.js:498:3)  
> at Module.require (module.js:597:17)  
> at require (internal/module.js:11:18)  
> at Object. (/home/nicolas/multinode/web/multinode/node\_modules/stylelint/node\_modules/cosmiconfig/dist/index.js:12:17)  
> npm ERR! code ELIFECYCLE  
> npm ERR! errno 1  
> npm ERR! multinode@0.0.1 build: `vue-cli-service build`  
> npm ERR! Exit status 1  
> npm ERR!  
> npm ERR! Failed at the multinode@0.0.1 build script.  
> npm ERR! This is probably not a problem with npm. There is likely additional logging output above.  
> npm ERR! A complete log of this run can be found in:  
> npm ERR! /home/nicolas/.npm/\_logs/2021-02-27T08\_33\_12\_830Z-debug.log

so `git clone`, `go install multinode`, `go install identity npm install` look fine (few warnings on npm install for optional dependencies skipped) and upon `npm build`, sh\*tstorm starts with the above errors. running `npm build` as `sudo` allows setup to complete as success but `multinode` is not recognised as a valid command  
and, not master of npm nor of go, but cannot really locate which file is considered exec/is go working like implicit `go multinode` when inputting `multinode` as an executable?

---

<div class="post-metadata">

**Author:** ![Bob](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/bob/32/1128_2.png) [@Bob](https://forum.storj.io/u/Bob)\
**Post date:** [March 1, 2021, 6:34pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/36 "2021-03-01T18:34:29Z")

</div>

> [@littleskunk](#):
>
> `storagenode issue-apikey --log.output stdout --config-dir ... --identity-dir ...`

Hello,  
It took me a while to follow instructions, more than 1 hour for zero result.  
Finally build it on macosX, go it running, generated API Key for a node.  
but unable to +New Node  
Set Node ID; public IP in http://…:port ; API key  
push create, nothing happens. nothing in logs.  
Checked trice my inputs.  
I also had to guess I needed to build storagenode go binary to generate api-key.  
The storagenode container could be directly invoked in interactive mode.  
Voila

---

<div class="post-metadata">

**Author:** ![littleskunk](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/littleskunk/32/63_2.png) [@littleskunk](https://forum.storj.io/u/littleskunk)\
**Post date:** [March 1, 2021, 8:09pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/37 "2021-03-01T20:09:34Z")

</div>

> [@Bob](#):
>
> public IP in http://…:port

That part is wrong. You have to insert ip:port only. Port should be the same port you have forwarded for the communication to the satellite.

---

<div class="post-metadata">

**Author:** ![Goblin\_Hero](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/goblin_hero/32/7226_2.png) [@Goblin\_Hero](https://forum.storj.io/u/Goblin_Hero)\
**Post date:** [March 5, 2021, 1:15pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/38 "2021-03-05T13:15:31Z")

</div>

Could someone upload compiled versions of multinode and npm folder? I’ve managed to compile multinode myself, but can’t cope with npm.

---

<div class="post-metadata">

**Author:** ![Pretender](https://storj.bcdn.literatehosting.com/letter_avatar/pretender/32/5_5575768a8748004e209b776fc1b2916d.png) [@Pretender](https://forum.storj.io/u/Pretender)\
**Post date:** [March 5, 2021, 2:25pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/39 "2021-03-05T14:25:02Z")

</div>

This is compiled static content  
[http://transfer.sh/iTSuB/multinode.tar.gz](http://transfer.sh/iTSuB/multinode.tar.gz)

---

<div class="post-metadata">

**Author:** ![fmoledina](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/fmoledina/32/6739_2.png) [@fmoledina](https://forum.storj.io/u/fmoledina)\
**Post date:** [March 15, 2021, 5:20am UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/40 "2021-03-15T05:20:09Z")

</div>

@littleskunk, I finally got back to this and got it working. Thanks for the instructions and the additional help.

 ![image](https://storj-s3.bcdn.literatehosting.net/original/2X/4/469a46f5df9f9cfe411e4d8f8059011f94c01d6a.png)

Based on that _Earned_ column looks like I’ll be able to retire a bit earlier than originally planned, which is an added bonus.

---

<div class="post-metadata">

**Author:** ![maxsch](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/maxsch/32/1130_2.png) [@maxsch](https://forum.storj.io/u/maxsch)\
**Post date:** [March 15, 2021, 6:53am UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/41 "2021-03-15T06:53:58Z")

</div>

Any chance to get a docker image for it?

---

<div class="post-metadata">

**Author:** ![SGC](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/sgc/32/1132_2.png) [@SGC](https://forum.storj.io/u/SGC)\
**Post date:** [March 24, 2021, 4:25pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/42 "2021-03-24T16:25:02Z")

</div>

i like your earnings, lol  
how do i get in on that deal lol

the multinode dash looks nice

---

<div class="post-metadata">

**Author:** ![Derkades](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/derkades/32/64_2.png) [@Derkades](https://forum.storj.io/u/Derkades)\
**Post date:** [April 7, 2021, 8:20pm UTC](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749/43 "2021-04-07T20:20:16Z")

</div>

I can’t seem to compile it

```auto
FROM ubuntu:20.10

RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y npm
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y golang
RUN apt-get install -y git

RUN git clone https://github.com/storj/storj -b main multinode

RUN cd /multinode/ && \
    go install ./cmd/multinode && \
    go install ./cmd/identity

RUN cd /multinode/web/multinode && \
    npm install && \
    npm run build

```

output

```auto
[successful layers removed]
Step 7/8 : RUN cd /multinode/ && go install ./cmd/multinode && go install ./cmd/identity
 ---> Running in 3baa881abf2b
go: downloading github.com/zeebo/errs v1.2.2
go: downloading github.com/spf13/cobra v1.0.0
go: downloading storj.io/private v0.0.0-20210225200021-48b617cbe817
go: downloading go.uber.org/zap v1.16.0
go: downloading github.com/spacemonkeygo/monkit/v3 v3.0.10
go: downloading storj.io/common v0.0.0-20210406151410-a1147267017f
go: downloading github.com/jackc/pgtype v1.6.2
go: downloading golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
go: downloading github.com/zeebo/structs v1.0.2
go: downloading github.com/jackc/pgx v3.2.0+incompatible
go: downloading github.com/spf13/cast v1.3.0
go: downloading go.uber.org/multierr v1.6.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/jtolds/monkit-hw/v2 v2.0.0-20191108235325-141a0da276b3
go: downloading storj.io/monkit-jaeger v0.0.0-20210225162224-66fb37637bf6
go: downloading gopkg.in/yaml.v2 v2.3.0
go: downloading github.com/blang/semver v3.5.1+incompatible
go: downloading github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572
go: downloading storj.io/drpc v0.0.20
go: downloading github.com/mattn/go-sqlite3 v2.0.3+incompatible
go: downloading github.com/spf13/viper v1.7.1
go: downloading go.uber.org/atomic v1.7.0
go: downloading github.com/zeebo/admission/v3 v3.0.2
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading github.com/jackc/pgconn v1.8.0
go: downloading github.com/jackc/pgx/v4 v4.10.1
go: downloading github.com/gorilla/mux v1.8.0
go: downloading golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c
go: downloading github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce
go: downloading github.com/mitchellh/mapstructure v1.1.2
go: downloading github.com/jackc/pgproto3 v1.1.0
go: downloading github.com/magiconair/properties v1.8.1
go: downloading github.com/gogo/protobuf v1.3.2
go: downloading github.com/pelletier/go-toml v1.2.0
go: downloading github.com/subosito/gotenv v1.2.0
go: downloading github.com/spf13/jwalterweatherman v1.0.0
go: downloading github.com/jackc/chunkreader v1.0.0
go: downloading github.com/jackc/pgproto3/v2 v2.0.6
go: downloading golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad
go: downloading github.com/cloudfoundry/gosigar v1.1.0
go: downloading github.com/jackc/chunkreader/v2 v2.0.1
go: downloading gopkg.in/ini.v1 v1.51.0
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading github.com/jtolds/tracetagger/v2 v2.0.0-rc5
go: downloading github.com/spf13/afero v1.1.2
go: downloading github.com/jackc/pgpassfile v1.0.0
go: downloading github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b
go: downloading github.com/apache/thrift v0.12.0
go: downloading github.com/zeebo/float16 v0.1.0
go: downloading github.com/jackc/pgio v1.0.0
go: downloading golang.org/x/text v0.3.3
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading github.com/calebcase/tmpfile v1.0.2
go: downloading github.com/zeebo/incenc v0.0.0-20180505221441-0d92902eec54
# storj.io/monkit-jaeger
/root/go/pkg/mod/storj.io/monkit-jaeger@v0.0.0-20210225162224-66fb37637bf6/udp.go:158:10: ticker.Reset undefined (type *time.Ticker has no field or method Reset)
# github.com/mattn/go-sqlite3
sqlite3-binding.c: In function 'sqlite3SelectNew':
sqlite3-binding.c:128049:10: warning: function may return address of local variable [-Wreturn-local-addr]
128049 | return pNew;
       | ^~~~
sqlite3-binding.c:128009:10: note: declared here
128009 | Select standin;
       | ^ ~~~~~~
The command '/bin/sh -c cd /multinode/ && go install ./cmd/multinode && go install ./cmd/identity' returned a non-zero code: 2

```

Is it an issue with the code in the development branch or something on my end?

[Previous page](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749.md?page=1)

[Next page](https://forum.storj.io/t/tech-preview-storage-node-multinode-dashboard/11749.md?page=3)
