I moved my node to a new machine and I made quite a few mistakes in the process. A few points about my environment follow:
I am running it on a Raspberry Pi inside an Argon EON Pi NAS, which fixed the HDD power problems that prompted me to get the new machine;
The identity was created on the old machine using my default user “michael” and not pi or root/sudo;
I changed ownership of my identity and storagenode/orders and storagenode/storage to root using chown (after failing to set it up using my “michael” user);
I removed and reinstalled docker and I did not add the “michael” user to the docker group (since the reinstall, I have been running docker commands using sudo).
I tried adding the line user: '$(id -u)':'$(id -g)'" to my docker-compose.yml, which didn’t work, I guess, because I changed everything to root. That line was never in my compose file before. I would prefer to use root because it makes my backups more straightforward, but I can rethink my backup strategy if necessary to get my storj node back online.
I have been struggling with this for over a week and reviewing the forums for help. Could someone help me out directly?
2023-09-08 00:31:32,569 INFO supervisord started with pid 1
2023-09-08 00:31:33,573 INFO spawned: 'processes-exit-eventlistener' with pid 11
2023-09-08 00:31:33,578 INFO spawned: 'storagenode' with pid 12
2023-09-08 00:31:33,583 INFO spawned: 'storagenode-updater' with pid 13
2023-09-08T00:31:33Z INFO Anonymized tracing enabled {"Process": "storagenode-updater"}
2023-09-08T00:31:33Z INFO Running on version {"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.86.1"}
2023-09-08T00:31:33Z INFO Downloading versions. {"Process": "storagenode-updater", "Server Address": "https://version.storj.io"}
2023-09-08T00:31:33Z INFO Anonymized tracing enabled {"process": "storagenode"}
2023-09-08T00:31:33Z INFO Operator email {"process": "storagenode", "Address": "michaelgill1969@gmail.com"}
2023-09-08T00:31:33Z INFO Operator wallet {"process": "storagenode", "Address": "0x29053f0779A10C28A9CdFF38C7AA55733C593Efc"}
Error: Error starting master database on storagenode: group:
--- stat config/storage/blobs: no such file or directory
--- stat config/storage/temp: no such file or directory
--- stat config/storage/garbage: no such file or directory
--- stat config/storage/trash: no such file or directory
2023-09-08 00:31:33,699 INFO exited: storagenode (exit status 1; not expected)
2023-09-08T00:31:33Z INFO Current binary version {"Process": "storagenode-updater", "Service": "storagenode", "Version": "v1.86.1"}
2023-09-08T00:31:33Z INFO Version is up to date {"Process": "storagenode-updater", "Service": "storagenode"}
2023-09-08T00:31:33Z INFO Current binary version {"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.86.1"}
2023-09-08T00:31:33Z INFO Version is up to date {"Process": "storagenode-updater", "Service": "storagenode-updater"}
The only sort of path I see in config.yml is as follows:
# 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
It fails with the last line Error: open /app/config/config.yaml1689024424: permission denied . It does not generate a new config.yaml. I recall this is the same as yesterday and I have been using an old config.yaml.
I still get the same log as follows:
--- stat config/storage/garbage: no such file or directory
--- stat config/storage/trash: no such file or directory
2023-09-08 01:36:13,900 INFO exited: storagenode (exit status 1; not expected)
2023-09-08T01:36:14Z INFO Current binary version {"Process": "storagenode-updater", "Service": "storagenode", "Version": "v1.86.1"}
2023-09-08T01:36:14Z INFO Version is up to date {"Process": "storagenode-updater", "Service": "storagenode"}
2023-09-08T01:36:14Z INFO Current binary version {"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.86.1"}
2023-09-08T01:36:14Z INFO Version is up to date {"Process": "storagenode-updater", "Service": "storagenode-updater"}
2023-09-08 01:36:15,294 INFO success: processes-exit-eventlistener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-08 01:36:15,301 INFO spawned: 'storagenode' with pid 85
2023-09-08 01:36:15,302 INFO success: storagenode-updater entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-08T01:36:15Z INFO Anonymized tracing enabled {"process": "storagenode"}
2023-09-08T01:36:15Z INFO Operator email {"process": "storagenode", "Address": "michaelgill1969@gmail.com"}
2023-09-08T01:36:15Z INFO Operator wallet {"process": "storagenode", "Address": "0x29053f0779A10C28A9CdFF38C7AA55733C593Efc"}
Error: Error starting master database on storagenode: group:
--- stat config/storage/blobs: no such file or directory
--- stat config/storage/temp: no such file or directory
--- stat config/storage/garbage: no such file or directory
--- stat config/storage/trash: no such file or directory
2023-09-08 01:36:15,475 INFO exited: storagenode (exit status 1; not expected)
2023-09-08 01:36:17,482 INFO spawned: 'storagenode' with pid 94
However, since you already have some data, you must never run the SETUP step again for this node, this command should be executed only once for the same identity for its entire life, otherwise you may break it by specifying a wrong data/identity locations (like you did now) and it will be disqualified. This time you were lucky that your user doesn’t have permissions for /mnt/storj and that saved your node.
Thanks for your help, Knowledge and Alexey. Unfortunately, I think the node would require " How to fix a ‘database disk image is malformed’", which is more than I want to get into. I’ll try to start from scratch with a new node.