Node on raspberry pi is Offline: port forwarding issue?

I’m quite embarrassed but I have pulled out all my hair and actually feel that I have performed all the proper steps to install and run Storj Node on my tiny little RPi.

Here is my original error indication (Node screen on port 14002):

I have one node running on my TrueNAS machine, using port 28967 and it has been running for just over a month, no issues.

I now have installed storagenode on my RPi, all went pretty well. I’m using port 28968 and have it forwarded on my router.

The Docker logs repeat this message:

2025-08-24T19:20:51Z ERROR contact:service ping satellite failed {“Process”: “storagenode”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “attempts”: 10, “error”: “ping satellite: failed to ping storage node, your node indicated error code: 0, rpc: tcp connector failed: rpc: dial tcp 134.215.XY.ZZY:28968: connect: connection refused”, “errorVerbose”: “ping satellite: failed to ping storage node, your node indicated error code: 0, rpc: tcp connector failed: rpc: dial tcp 134.215.XY.ZZY:28968: connect: connection refused\n\``tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:224\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:167\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:89\n\tstorj.io/common/sync2.(*Cycle).Run:102\n\tstorj.io/common/sync2.(*Cycle).Start.func1:77\n\tgolang.org/x/sync/errgroup.(*Group).add.func1:130”``}

And this message:

2025-08-24T19:16:37Z    ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 9, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose": "ping satellite: check-in ratelimit: node rate limited by id\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:219\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:167\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:89\n\tstorj.io/common/sync2.(*Cycle).Run:102\n\tstorj.io/common/sync2.(*Cycle).Start.func1:77\n\tgolang.org/x/sync/errgroup.(*Group).add.func1:130"}

I have ensured port forwarding is in place, have rebooted my router and the settings stayed.

Here is my docker run file:

sudo docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28968:28967 \
-p 14002:14002 \
-e WALLET="0x7A37aE83F8932e3B1E2x3fff2444f8bf3c1xxxxx" \
-e EMAIL="joe@hotmail.com" \
-e ADDRESS="storj.freemyip.com:28968" \
-e STORAGE="3TB" \
--memory=800m \
--log-opt max-size=50m \
--log-opt max-file=10 \
--mount type=bind,source=/mnt/storj/identity/storagenode,destination=/app/identity \
--mount type=bind,source=/mnt/storj/storagenode,destination=/app/config \
--name storagenode storjlabs/storagenode:latest

I’m at a loss for what I’ve done wrong. It appears to me that the port forwarding is the alarm indication. I tried a totally different port number of 3000 to replace 28968 in the line above. I thought it was looking good which is was “Refreshing”, but nope, misconfigured yet again.

This should be -p 28967:28967 \

Your port forwarding forwards 28968 to 28967 on internal IP. No need to change on internal client.

4 Likes

Thank you, and I now see the errors of my way, it makes sense. This has me now “Online” (green). I still have “Misconfigured” (red). Been running for 10 minutes.

The log message is:

2025-08-24T21:52:49Z    WARN    contact:service Your node is still considered to be online but encountered an error.    {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Error": "contact: failed to ping storage node using QUIC, your node indicated error code: 0, rpc: quic: timeout: no recent network activity"}

It is a step in the right direction.

Got it. I had to expllicity list the TCP and UDP interfaces vice one that “should” cover both.

Thanks for the help!

2 Likes

Just to clarify for anyone reading this:

Using -p 28967:28967 did not pass both TCP and UDP as expected. I had to use both of the following:

-p 28967:28967/tcp

-p 28967:28967/udp

3 Likes

Yes, as per instruction:

1 Like