Storage node dashboard API (v0.19.0)

Did you add the port mapping to your docker run command?

Maybe you missed that part?

Should I add those arguement into the “docker run” commands?

I will not answer the same question with the same quote. It was clear what you have to do. Just do it.

Thanks, it worked.
Previously added the arguement in the wrong place which lead to error on starting node

Where abouts in the command does this line go please?

just next to the other -p command for example…
-p 28967:28967 -p 127.0.0.1:14002:14002

2 Likes

After adding satellite storage/bandwidth numbers and other edits, the script has its own repo now.

Note that the output doesnt always make sense, but it displays what is in the dashboard api json. For example storageDay reports are usually a day or two old where bandwidth reports are more up to date. The jq script sorts the storage/bandwidth reports (which can span many days) and adds up the values only for the last available day, which sometimes is no day at all.

Despite adding it to the docker command, it doesn´t work on RPI, but it works on Linux :frowning:

My docker run command:
sudo docker run -d --restart always -p 28967:28967
-e WALLET=“0xB57e065D32Dxxxxxxxxxxxxxxxxxxxxxxxad45”
-e EMAIL=“bru*************@gmail.com”
-e ADDRESS=“xxxxxxxx.ddns.net:28967”
-e BANDWIDTH=“50TB”
-e STORAGE=“1.8TB”
-p 127.0.0.1:14002:14002
–mount type=bind,source=/media/pi/HDD/Dados,destination=/app/identity
–mount type=bind,source=/media/pi/HDD/Storage,destination=/app/config
–name storagenode storjlabs/storagenode:arm

Try this format:

sudo docker run -d --restart unless-stopped -p 28967:28967 \
-p 127.0.0.1:14002:14002 \
-e WALLET="0xB57e065D32Dxxxxxxxxxxxxxxxxxxxxxxxad45" \
-e EMAIL="bru*************@gmail.com" \
-e ADDRESS="xxxxxxxx.ddns.net:28967" \
-e BANDWIDTH="50TB" \
-e STORAGE="1.8TB" \
--mount type=bind,source="/media/pi/HDD/Dados",destination=/app/identity \
--mount type=bind,source="/media/pi/HDD/Storage",destination=/app/config \
--name storagenode storjlabs/storagenode:beta

Looks like you’re missing the quotation marks in the source path, and also we updated to the :beta docker image :slight_smile:

1 Like

Edited as you said, issue remains.
Added the quotation marks and beta image…exactly the same :frowning:

In addition, beta docker image also applies to Linux SNO´s or just RPI´s?

The beta tag applies to all platforms.

Can you post your logs?

docker logs storagenode --tail 10
1 Like

Sure:

pi@raspberrypi:~ $ sudo docker logs storagenode --tail 10
2019-09-21T09:26:00.825Z	INFO	piecestore	upload failed	{"Piece ID": "OFW3FDANHIMNAEBOCJ2NTUPVIRECAFLWQSMU3NGXPTC2EHZ5D5RQ", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT", "error": "piecestore protocol: rpc error: code = Canceled desc = context canceled", "errorVerbose": "piecestore protocol: rpc error: code = Canceled desc = context canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:267\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:00.827Z	ERROR	server	gRPC stream error response	{"error": "piecestore protocol: rpc error: code = Canceled desc = context canceled", "errorVerbose": "piecestore protocol: rpc error: code = Canceled desc = context canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:267\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:06.504Z	INFO	piecestore	upload started	{"Piece ID": "LFHWINBM3OIRWGWUHTJPLK3I6KOFACW62MZJQGLAPN7ZFO4BUD5A", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT"}
2019-09-21T09:26:08.511Z	INFO	piecestore	upload started	{"Piece ID": "V3EXQZHDUATJZ4RM4ZDMKJJA4UM5VMTK5TCFK4T6UZ3BO6U7JECA", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT"}
2019-09-21T09:26:10.927Z	INFO	piecestore	upload failed	{"Piece ID": "LFHWINBM3OIRWGWUHTJPLK3I6KOFACW62MZJQGLAPN7ZFO4BUD5A", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT", "error": "piecestore protocol: rpc error: code = Internal desc = transport: transport: the stream is done or WriteHeader was already called", "errorVerbose": "piecestore protocol: rpc error: code = Internal desc = transport: transport: the stream is done or WriteHeader was already called\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:349\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:10.928Z	ERROR	server	gRPC stream error response	{"error": "piecestore protocol: rpc error: code = Internal desc = transport: transport: the stream is done or WriteHeader was already called", "errorVerbose": "piecestore protocol: rpc error: code = Internal desc = transport: transport: the stream is done or WriteHeader was already called\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:349\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:12.318Z	INFO	piecestore	upload failed	{"Piece ID": "V3EXQZHDUATJZ4RM4ZDMKJJA4UM5VMTK5TCFK4T6UZ3BO6U7JECA", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT", "error": "piecestore protocol: rpc error: code = Canceled desc = context canceled", "errorVerbose": "piecestore protocol: rpc error: code = Canceled desc = context canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:267\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:12.319Z	ERROR	server	gRPC stream error response	{"error": "piecestore protocol: rpc error: code = Canceled desc = context canceled", "errorVerbose": "piecestore protocol: rpc error: code = Canceled desc = context canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:267\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:151\n\tstorj.io/storj/pkg/pb._Piecestore_Upload_Handler:1070\n\tstorj.io/storj/pkg/server.(*Server).logOnErrorStreamInterceptor:23\n\tgoogle.golang.org/grpc.(*Server).processStreamingRPC:1127\n\tgoogle.golang.org/grpc.(*Server).handleStream:1178\n\tgoogle.golang.org/grpc.(*Server).serveStreams.func1.1:696"}
2019-09-21T09:26:15.530Z	INFO	piecestore	upload started	{"Piece ID": "AYWM6OVNR2JQVGIRNI4N73VED73U55NHNE5WUHS2MULMRTYTTRZQ", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT"}
2019-09-21T09:26:17.704Z	INFO	piecestore	uploaded	{"Piece ID": "AYWM6OVNR2JQVGIRNI4N73VED73U55NHNE5WUHS2MULMRTYTTRZQ", "SatelliteID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "Action": "PUT"}
pi@raspberrypi:~ $

It looks to me like you were using the wrong type of curly quotes, while you should be using regular straight quotation marks, as shown in the example from Dylan.

1 Like

I am using regular quotation marks :slight_smile: but still it´s not working on RPI.

Are you trying to connect to your rpi from outside of the rpi if so you need to use rpi IP instead of 127.0.0.1

1 Like

No, using the browser from PI itself.

Oh ok does your dashboard work fine when you put the command?

Yes, no errors whatsoever. Local CLI dashboard also working without any issue. It´s just the browser version that doesn´t work, and only on PI. On my other SNO (Ubuntu) is working perfectly.

Maybe should open it up to your network and try with a desktop browser and see if it does the samething. My RPI 4 is working fine when I try to access it from my desktop.