New static ip >> Node offline >>"service ping satellite failed"

I’ve been running a StorJ node since last summer, without issues until this weekend.

The static IP assigned to me by my ISP changed this weekend. Since then, the node is offline and does not recover.

Extra info

  1. Node runs with Docker, v 1.54.2
  2. Port 28967 forwarded properly with both TCP and UDP (node was running fine for about 10 months)
  3. I have updated the ADDRESS environment variable to reflect my new IP
  4. Despite this, satellites seem to contact my old IP, as I see the following in my logs:
ERROR	contact:service	ping satellite failed 	{"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 8, "error": "ping satellite: failed to dial storage node (ID: 13tAQd77LaueD9CPMtyVfq25irZ3GdeQdkjyzVMX4qqqkUqa6R) at address rpc: tcp connector failed: rpc: dial tcp <OLD_IP>:28967: i/o timeout", "errorVerbose":

I can imagine there’s some caching on the satellite side, but I’ve updated the ADDRESS environment variable about 8 hours ago, and my node is still offline and showing the same error messages when I restart it.

What can I do to understand and fix this ?


Hi @niparis
Please restart the storage node, now that you’ve updated the address. The error points to the new address not being active.

Edit - what specifically do you mean by “updated the ADDRESS environment variable”? Is that updating the docker command?

Hi @stob, thanks for the answer

I’ve restarted the container 4 times.

The docker container takes an environment variable ADDRESS where the value is of format IP:PORT. It’s been updated to my new IP. I mentioned that since the logs mention my old ip.

Had the same problem.
Changed ip and the problem was gone.

Hi @niparis

As @Stob said it’s not clear what you did to update the ADDRESS value.

Did you stop and remove then container then create a new container with the new value of your IP Address with the following command ?

docker run -d --restart unless-stopped --stop-timeout 300 \
    -p 28967:28967/tcp \
    -p 28967:28967/udp \
    -p \
    -e EMAIL="" \
    -e ADDRESS="" \
    -e STORAGE="2TB" \
    --user $(id -u):$(id -g) \
    --mount type=bind,source="<identity-dir>",destination=/app/identity \
    --mount type=bind,source="<storage-dir>",destination=/app/config \
    --name storagenode storjlabs/storagenode:latest

just restarting the container with the restart command is not enough.

1 Like

^ The docker node is telling you which IP it is currently advertising. If that IP is wrong you need to update the IP. If that IP is correct something is wrong with port forwarding or firewall. So just take a look at the ip address in the storage node lock and you can tell which part doesn’t work.

Thanks for your help @littleskunk @labooll

My node is now online. I didn’t do anything since my first message.

I can only assume there’s some sort of caching of IPs at the satellite level ?