Any ideas why i am getting the error when i try to run the storagenode docker?

"ERROR Failed to load identity. {“error”: “file or directory not found error: open identity/identity.cert: not a directory”, “errorVerbose”: “file or directory not found error”

here is my info
sudo docker run -d --restart always --stop-timeout 300
-p 28967:28967
-p 14002:14002
-e WALLET=“My Wallet Address”
-e EMAIL=“My Email”
-e ADDRESS=“My External IP:28967”
-e STORAGE=“450GB”
–log-opt max-size=50m
–log-opt max-file=10
–mount type=bind,source=/home/pi/.local/share/storj/identity/storagenode,desti$
–mount type=bind,source=/mnt/storagenode,destination=/app/config
–name storagenode storjlabs/storagenode:beta

Hi davidgoderre,

It looks like there are some problems with your run command. First, I see curly quotes and double dashes converted to single dashes in your command, and the lines are missing backslashes. You should use a text editor, not a word processor such as Word, to create the command. I recommend Notepad++ if you are using Windows to edit. Any linux text editor should be fine, but don’t use libreoffice or similar.

Second, this line is missing the end part of the statement

Should be

--mount type=bind,source="/home/pi/.local/share/storj/identity/storagenode",destination=/app/identity \

Both paths need quotes around them for both the indentity and the storage location. You should use the image tag storjlabs/storagenode:latest not beta. I suspect you might be following old instructions? Please check here and follow the directions, including the new SETUP step.

Also, it is recommended to store your identity files on the same drive as the data store, and for the data folder to create a subfolder in your mount and point the storagenode at the subfolder, not the root of the drive.

You will also have a problem trying to start a storagenode that is less than 500 GB in size. The minimum amount of space you are allowed to allocate is 500 GB, and the software will not run a node with less. Although this can be bypassed, I wouldn’t recommend it.

Just read this

Thanks for the quick reply, and i apologise for all the issues i had. I am brand new to this. So seems like i have more issues than i thought.

the formatting of " and – was messed up when i copied it from my nano editor into the posting. see image below.

Now i tried this and it still failed with the same error message in my logs "
2021-02-16T19:00:08.276Z ERROR Failed to load identity. {“error”: “file or directory not found error: open identity/identity.cert”

is it still cert realted or is it because of the 450gb (500gb -10%) hard drive? Can i use multiple hard drives? i have 2 500gb HDs and a 250gb HD?

You also mentioned storing identity files on the same drive as the data source, and for the data folder to create a subfolder in your mount. In the guide it doesnt specify how to do this, is there specific steps i should follow for this?

also it could because of the guide i followed initially that is giving me the issues i am seeing now?

Did you use SETUP env for first run?
You need alocate 500GB
You can split more disks on OS level

No problem, we are here to help! In order to not lose formatting in the forums, you can place your block of text between three backticks (```) above and below the text block. Here is a nice guide for post formatting in the discourse platform (which this forum uses).

Can you post the output of the following command?
ls -l /home/pi/.local/share/storj/identity/storagenode
The error you are seeing isn’t related to the minimum 500 GB, but if we get the identity resolved, it will likely be your next error message. There isn’t a good way to combine multiple 500 GB disks, as you would risk the health of the node if you span the drives together.

I would create the following folders:
/mnt/storagenode/data ~~~> Use this in your run command for the data dir (app/config)
/mnt/storagenode/identity ~~~> Place your signed identity here and use it in your run command for the identity directory (app/identity)

As Krystof said, you need to run the command once with the SETUP flag, as described in the documentation. In the supplied docs, the first time you run the command with
docker run --rm -e SETUP="true" \
The SETUP="true" part creates the data structure on the drive, the --rm means the container will be removed after first run. Then you can run the normal command (without --rm and SETUP). You should read through the setup step again, following the directions in order.

If you want to run the node with less than 500 GB, this can be made possible but only after the setup command has been performed since you would have to modify the config.yaml file with a parameter that allows smaller than 500 GB. But this is really intended for testing purposes. To be honest, a 500 GB share will not yield much in terms of payout.

1 Like
pi@raspberrypi:~ $ ls -l /home/pi/.local/share/storj/identity/storagenode
total 24
-rw-r--r-- 1 pi pi  558 Feb 16 07:26 ca.1613489194.cert
-rw-r--r-- 1 pi pi 1088 Feb 16 07:26 ca.cert
-rw------- 1 pi pi  241 Feb 16 00:50 ca.key
-rw-r--r-- 1 pi pi 1100 Feb 16 07:26 identity.1613489194.cert
-rw-r--r-- 1 pi pi 1630 Feb 16 07:26 identity.cert
-rw------- 1 pi pi  241 Feb 16 00:50 identity.key

Have you already run the SETUP="true" step? Is that the only error you are getting in the log?

It seems like the node software can’t read that directory (even though it should be able to when running under sudo). I would try placing the files in a subdirectory on the hard drive you are trying to use.

i am unsure what is wrong. i am still getting the same error. maybe i just need to start from the very beginning?

If you identity is properly signed, you do not need to do that step again. But the rest you might want to try from the beginning. You can verify if your identity is signed following these directions:

To me it seems like a file permissions issue. From your screenshots it looks like you are running the command from a bash script. I don’t know if sudo works properly being run from a script. I would try pasting the command directly into the command line instead of launching it from a script. You can paste the entire multi-line command in one step.

I would skip all anything to do with portainer for now. That’s just adding complexity you don’t need and could be interfering with the setup. (I have never used portainer before, but it is an extra variable you can remove from the troubleshooting).

There are the same

Did you really run first with setup command with good locations? Can you send your setup command?
sudo docker run --rm -e SETUP=“true”
–mount type=bind,source=“”,destination=/app/identity
–mount type=bind,source=“”,destination=/app/config
–name storagenode storjlabs/storagenode:latest

ok running it from terminal instead of a script worked. i am now getting the space related errors.

So i would need a different drive with more space in order to continue?

looks like i was causing myself errors by trying to run the setup from within a script. I was able to run the setup and the storage node successfully from directly in the terminal window. i now get the space errors. so i guess i will need a different hard drive.

1 Like

You can edit the config.yaml file and find the following line:

# how much disk space a node at minimum has to advertise
# storage2.monitor.minimum-disk-space: 500.00 GB

Uncomment the storage2.monitor.minimum-disk-space: 500.00 GB and change the value to whatever you have available. But I would suggest running on a larger disk if possible since 500 GB (or 450 in your case) won’t provide a lot of return. But it will let you test out running a storagenode. Also, you should run the command df -H and see how much space is in the “Available” column, then take 90% of that. ext4 formatted volumes reserve 5% of the blocks, you will actually have less than 500 GB available to you.

1 Like

ok i followed those steps to get it going and i see this in after running this command docker ps -a

Just says restarting and i cant access the web dashboards at all? I am going to use a bigger drive as you suggested. will take a day for me to clear off the backups i have on it and move to a different drive.

CONTAINER ID   IMAGE                              COMMAND         CREATED         STATUS                          PORTS                              NAMES
474d1252123f   storjlabs/storagenode:latest       "/entrypoint"   8 minutes ago   Restarting (1) 37 seconds ago                                      storagenode

ignore this, im an idiot. i left a space at the start of the yaml file. i corrected this and it is up and running!

Thank you both for the quick help and responses!

I have 2 quick questions.

on my dashboard i see suspension and audit at 0%. i assume thats good?

Once i have my other drive with more space available. is there any guide i should follow to integrate it, instead of my current drive? i assume follow the same steps to mount it and set as ext4 then change the locations of data dir and app identity and run container?

1 Like

the suspension and audit section updated. please disregard.

Happy to hear you got it running! When you are ready to move the node to the new drive, you can follow the migration steps here:

If you move to the new disk soon, your node will not have accumulated much data so the transfer will be quick. You could do it by just copying the files and changing the data dir and identity directories in the run command while the node is stopped. I would suggest following the guide though which will give you some experience with rsync, and practice for if you ever want to migrate the node in the future. And don’t forget that you will have to stop, remove, and recreate the container with the new command in order for the new changes to take effect.

Under normal circumstances, your node will show 100% for all scores. These will increase over time. Your node will be in the vetting phase for a while, and will need to be vetted by all satellites individually. You can track the progress using this earnings calculator script developed by one of our excellent community members.

Good luck!

Don’t forget to set up watchtower to keep your node up to date automatically.

1 Like

i think i am back in business with a bigger drive. i did have to copy the files to my pi directly as the pi cant power 2 hard drives on its own. then i copied them over to the new drive.
i also had to run the setup docker run again because after running the normal docker command i got satellite errors filing up my logs and even though on the dashboard it said uptime, it wasnt connected.

All looks good now. except i got this message below when trying to do the watchtower. is this normal? it is showing as running when i do docker container ls.

docker run -d --restart=always --name watchtower -v /var/run/docker.sock:/var/run/docker.sock storjlabs/watchtower storagenode watchtower --stop-timeout 300s
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested