Setting up 2nd node in linux (first on Windows)

I’m trying to set up a second node using a second computer and linux. First node is well over a year old and fully vetted running windows. Both nodes are connected via LAN cables to the same router.

Since my original node is using port forwarding “28967” I selected “28963” for the new node. I set up port forwarding using my deco router app for the new node. I select “28963” for external port but set the internal port to “28967”. I also set the protocol to “all”

I am somewhat new to linux and trying my best with CLI.

This is the docker command I ran:

docker run -d --restart unless-stopped --stop-timeout 300 \
    -p 28963:28967/tcp \
    -p 28963:28967/udp \
    -p 14002:14002 \
    -e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
    -e EMAIL="XXXXXXXXXXXXXXXXXX@protonmail.com" \
    -e ADDRESS="XXXXXXXXXX.tplinkdns.com:28963" \
    -e STORAGE="3.6TB" \
    --user $(id -u):$(id -g) \
    --mount type=bind,source="/home/randall/.local/share/storj/identity/storagenode",destination=/app/identity \
    --mount type=bind,source="/home/randall/STORJDATA",destination=/app/config \
    --name storagenode storjlabs/storagenode:latest

I attached a picture of what I get when I run “docker ps -a”

sometimes it says up, sometimes it says restarting.

I can’t get the dashboard to come up using either “http://127.0.0.1:14002/” or "
http://:14002/"

Any help is greatly appreciated

Show result

docker logs storagenode --tail 30

Did you run the first docker run command that preps /home/randall/STORJDATA for you?

Also, with your network ports configured the way you have in Docker, you need to forward 28963 straight to 28963 at your router, not 28967 on the internal port. Or you can revise your Docker config so that the container itself is listening on 28967, but leave your port forwarding and address settings the same.

1 Like

If you have windows PC with node, just add hdd and make more nodes on same windows pc, it is posible, and will be more power eficient.

@peem

@IOwnCalculus

I have so much respect for anyone with the gull to say they own Calculus. Worked my ass off for a C (in college not high school)

Anyway. So I should have the “internal port” and “external port” both set to 28963 on my router?

@Vadim In the process of shutting down the windows PC and retiring the build. It’s having issues.

What I really want to do is move the Windows node to the Linux node on a different PC but first I thought it prudent to at least set up a node in linux before I try that.

I see a problem with permissions
Have you added a user to the docker group?

sudo usermod -aG docker $USER

Yes
“external port” set to 28963
“internal port” set to IP this your linux SN and 28963

By the way: your linux computer on which you will have the node on a static IP address?

Hi,

“Error loading identity”

Seem that identity files are not into: “/home/randall/.local/share/storj/identity/storagenode”

Check if this dir contains 5 .cert files…if you need a new identity, generate it with:

cd /home/randall/
curl -L https://github.com/storj/storj/releases/latest/download/identity_linux_amd64.zip -o identity_linux_amd64.zip
unzip -o identity_linux_amd64.zip
chmod +x identity
sudo mv identity /usr/local/bin/identity

identity create storagenode
identity authorize storagenode $YOUR-TOKEN-HERE

If you already create the identity but files are missing, maybe you run the identity command with sudo (or previous using sudo su)…in this case the identity files are into the root user, not into randall…check under: /home/root/.local/share/storj/identity/storagenode and move them in the correct path.

It look like you changed the config.yaml file to specify the path to the identity?
You should return default values for all paths in config.yaml, you provide them in the docker run command.
If you also added the storage.path option, please remove it.
Inside the docker container your path to the identity will be /app/identity, so options should be

# path to the certificate chain for this identity
identity.cert-path: "identity/identity.cert"

# path to the private key for this identity
identity.key-path: "identity/identity.key"
1 Like

@peem @Alexey @ZBS

Thank you all for your help. I apologize for taking so long.

I have carried out your recommendations but still no dashboard. I also did “docker stop” and “docker rm” to the container and started a new one. Reset the compute a few times as well. IP is static and the internal/external are both set to 28963 on the router. Still no luck on the seeing the dashboard:(. I attached screenshots to confirm I made the changes correctly and showing the new error message when running the log command.

showing the correct changes to config.yaml

showing where the identify files are located

new error log

Show command result:

docker ps

Your docker run command probably has the wrong quotes used. I haven’t checked but it is worth you checking

Although it could be just where you edited the post in windows…

Double check your docker run command for typos

1 Like

@peem

Here you go

@andrew2.hart

I don’t see anything wrong with the things I have in the docker run command. Here it is.

As randall user, not root, not sudo

grep -c BEGIN ~/.local/share/storj/identity/storagenode/ca.cert
grep -c BEGIN ~/.local/share/storj/identity/storagenode/identity.cert

I am not seeing any problem…did you perhaps make the file in windows and then send it to linux?

@peem

@andrew2.hart

No, everything has been in linux for this new node