Problems with storagenode (connection issues)

Hello there,

Since i dont have a public ipv4 i use Portmap.io with Openvpn to redirect traffic.

Now after 2 hours of troubleshooting this thing, i lost all hope. The satelites cant reach the docker behind portmap. I can easily connect to a python http.server with portmap (which is not in docker but on the same server) and the firewall is disabled (on the server, not the router)

here is the important part of the docker command:
docker run -d --restart unless-stopped --network host --stop-timeout 300
-p (tunnelip):8031:8031/tcp
-p (tunnelip):8031:8031/udp
-p 127.0.0.1:14002:14002 \

and here the logs:

aUxe2; payouts service: node not found: 1edifngGaTvz4eyUWUW6pPwy2VrB7PWc6p4gVqrndp93baUxe2; payouts service: node not found: 1edifngGaTvz4eyUWUW6pPwy2VrB7PWc6p4gVqrndp93baUxe2", “errorVerbose”: “group:\n— payouts service: node not found: 1edifngGaTvz4eyUWUW6pPwy2VrB7PWc6p4gVqrndp93baUxe2\n\tstorj.io/storj/storagenode/payouts.(*Endpoint).GetPaystub:73\n\tstorj.io/storj/storagenode/nodestats.(*Cache).CacheHeldAmount.func1:211\n\tstorj.io/storj/storagenode/nodestats.(*Cache).satelliteLoop:268\n\tstorj.io/storj/storagenode/nodestats.(*Cache).CacheHeldAmount:203\n\tstorj.io/storj/storagenode/nodestats.(*Cache).Run.func2:125\n\tstorj.io/common/sync2.(*Cycle).Run:102\n\tstorj.io/common/sync2.(*Cycle).Start.func1:77\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:93\n—

2025-11-02T16:49:22Z ERROR contact:service ping satellite failed {“Process”: “storagenode”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “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:227\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:169\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).Go.func1:93”}

its the same without --network host and without the tunnelip infront of the ports.

The ports are correctly configured in Portmap.

Have you set node to listen port 8031 ?

You need to fix this port mapping, unless you also changed a server.address option:

to

-p (tunnelip):8031:28967/tcp \
-p (tunnelip):8031:28967/udp

Because with docker you need to change only the left part (binding to host) of the port mapping, the right part (binding in the container) usually should not be changed, unless you also changed the server.address option/command line argument to match a new address+port.

2 Likes

Thank you for your help, sadly that didn’t work out (probably my bad because i didn’t post the serve address option which also had port 8031). But I found out what the problem was: After I deleted the lines with -p (which interfered with the - - network host option) it worked perfectly fine.

1 Like

Ofcause - should have caught that. We’re just so used to docker containers using a standard bridge it didn’t even think about it.

Great stuff you got it working!