New pi node operator


I’ve recently spent a week or so setting up and configuring a sort of proof of concept node using a raspberry pi 3b with a 2TB drive I had laying about. I’ve managed to get it up and running and has been online for 5 days now and so far 1.1gb egress and 33.6 ingress with 32gb total storage used.
I have a couple of questions relating to config and backing up etc.
As this was just a PoC rig, in the near future I want to upgrade it to a newer pi 4 and also replace the hard drive with a larger one. Am I able to take a backup of the existing hard drive on to a newer larger one and then just replace the disk? And also can I just replace the pi and use the SD card in the new one without having to mess about too much?

I was also wondering what kind of traffic I should be expecting. I have a 500MB download and 70MB upload connection, and live in the Midlands, UK. Just want to check that the numbers I posted at the top are sort of average of what I should be expecting or of they are massively over/under expected?

Any other handy tips anyone has would be greatly appreciated. I’ve entered the blockchain community this year and really enjoying getting in to the different projects.



Hello @5304Pants ,
Welcome to the forum!

You can use this guide to migrate your node: How do I migrate my node to a new device? - Node Operator

Just try :slight_smile:

You can move your identity from the SD card to the disk and use this path in your docker run command, since the identity without data is useless and vice versa - the data without identity is useless too. So, if your disk would die, you will be forced to start from scratch anyway, so the backup would not help either.
Use only ext4 filesystem if you do not want to troubleshoot different issues.
Use an extension card for the HDD, not external HDD if possible. If it’s not possible - make sure that your external HDD have enough power supply (it must be external).
Don’t ignore cooling, don’t cover too much of the Pi, use a fan or a box for Pi with a fan.

1 Like

Thanks for that reply, very helpful.
I’m using a caddy for the hard drive with independent power, and the case I got for the pi has a tiny little fan and stick on heat sinks. Never used a pi before but they are quite cool for what they are.

I’ve copied the identity files on to the HDD, but used the ones on the SD card. I figured having a copy on both would provide ensure if either died I could just replace and copy them back again after. If the disk dies and I had to replace it would it not use the identity and then retrieve and repair?
Luckily I used ext4. I’ve a bit of experience of Linux from a media server I have but not extensive.

One other question I’ve tried to figure out but not managed to find an answer. I can’t access the dashboard remotely, only from the device. I enabled SSH, have forwarded the ports in the router and added -p 28967:28967 to the docker run. Can access it locally using but when I try from another machine on the network I get nothing… Networking isn’t my strong point but thought this would be enough from what I read…

Thanks again.

Agreed :wink:

That’s not how it works unfortunately. If you lose your disk, your node would quickly get disqualified because it could not provide the data it is supposed to be holding.
The Storj network does not support repairing failing nodes, for a lot of reasons I’m not gonna detail here (you can search the forum if you’re curious) but in short: that would be very difficult and expensive for the network to allow nodes to get repaired on demand in a trustless context (iirc).

You shoudn’t expose the dashboard publicly anyway.
FYI: 28967 is the technical port used by satellites and customers for sending/receiving data. 14002 is the web dashboard port.

Here is the official way to expose the dashboard:

And here are some other approaches you might want to check out:

1 Like

If you were starting from scratch then I would say boot your pi from the hdd but it’s not that important

Ah, ok. Is it possible to copy the entire contents of the HDD to another HDD once it’s full, so that if the disk dies I can just replace it and do a quick check and repair any inconsistencies between the 2?

Thanks for that, although i’ve somehow managed to lock myself out of the CLI dashboard on the localhost and LAN now. haha. The web dashboard is still working though. I get an access denied through command line after following that setup, where previously I just entered docker exec -it storagenode /app/ and it worked.
Is the web dashboard accessible over the LAN?

You mean install the OS on the external HDD and remove the SD card completely?

Each node is unique. There is no way to repair any kind for the single node.
The repair is taken by repair worker and the repaired data will be spread across the network except the failed node. The failed node will be disqualified.
The backup is useless too - as soon as you bring the restored backup online it will be disqualified for missed data since backup.

So, if the disk is full you can start another one in parallel with a different identity, different disk and different external port (the internal one must not be changed).

Please, do not try to clone the identity - it will be disqualified almost instantly because it would not have all data which it should have.

The dashboard can be accessible across the LAN, if you omit the in the the dashboard’s default port in the docker run command (-p 14002:14002 instead of -p

Yes just makes things clearer/cheaper but keep the sd card for emergency