Hi All
Yesterday I set up my first node on a RPI4. I meet a problem while trying to access the dashboard:
FATAL file or directory not found error: open /root/.local/share/storj/identity/storagenode/identity.cert: no such file or directory
I even moved the node and launched it as root, but it didn’t help
Today, I setup a new one, here is the config:
my config.yaml, accessed by docker exec -it storagenode /app/storagenode config is:
no problem to edit the path and have /home/storj/ but how to activate the change?
…also - the diag?
thanks for help
You shouldn’t edit the paths in the config file, they should be left set to /app/config and /app/identity because that’s what the directories are inside the docker container
1 Like
ok so how to get rid of the described problem. launch as root?
did you read my comment? It said how to solve the issue?
1 Like
perhaps I wasn’t clear enough, pls excuse me
diag and dashboard aren’t working. path editing case closed
edit: the node is working
it says it loads the config
but there is no such file in /root
.yaml file is in my storage directory. looks almost empty (all is #)
uhh, so is it or is it not working?
It should say
Configuration loaded from: /app/config/config.yaml
Since that’s the path inside the container. You should not edit the config file at all. If you want to change paths, edit the run command.
I haven’t edited anything (I just thought it may be a solution and I asked)
my input is:
docker run -d --restart unless-stopped -p 28967:28967
-p 127.0.0.1:14002:14002
-e WALLET=“x”
-e EMAIL="x@gmail.com"
-e ADDRESS=“x:28967”
-e BANDWIDTH=“30TB”
-e STORAGE=“1TB”
–mount type=bind,source="/home/storj/.local/share/storj/identity/storagenode",destination=/app/identity
–mount type=bind,source="/media/z/",destination=/app/config
–name storagenode storjlabs/storagenode:arm
http dashboard doesn’t work too
should I edit the config.yaml I have in the storage directory? the one I said it’s almost empty (hashed, commented)
Except you have because your node is not using the default config. You also literally showed a screenshot in your top post of edited lines in the config.yaml. Please stop your node, remove the config.yaml and start it again. Your node will automatically create a default config.yaml. And all your problems will be solved.
yeah but I already created a whole new container to have the default back
docker exec -it storagenode /app/storagenode config is:
the config.yaml in my storage directory was root:root, now it’s 777 storj:docker, so storj account can edit it. It didn’t help
when I have stopped the node, deleted the container, removed the hashed config.yaml (from the storage directory), and started from the beginning,
a new config file was created (still hashed, default values)
Eehm… you see the difference right!?
And these are NOT hashed out… only the descriptions are.
And while you didn’t mention it, I’m pretty sure your node as well as dashboards should now just work perfectly fine.
OMG
earlier I said it’s almost completely hashed out
above i have pasted the lines which aren’t. moreover, they’re both may be related to the issue I have
it’s actually a 2nd time when you’re ignoring the things i have written previously
this is a default arm node - no changes. no, dashboard is not working, and diag is not working as well
I assume I don’t need to manually edit config from the storage dir as I was told (above) to delete it, launch all again and have the things working
edit:
to be clear - config.yaml seen from docker is different than config.yaml from the storage folder. storage one is hashed out except for the lines shown on a screenshot above (and the line contact.external-address: “” )
so from the beginning:
and yes, I heard you - I am not editing config files
You do not need to modify the config file, ever. Run docker ps -a
and make sure the storagenode container(s) are stopped and removed. I’d say remove the entire data folder to get a new config file and database (it seems your database is broken as well). Finally, start the container and there is no reason it shouldn’t work.
Followed by a screenshot of unhashed lines
You never said anything of the likes…
@Derkades pointed to your issue in the first response, which YOU then ignored. So it’s a little funny you tell me I’m ignoring you. People are trying to help but you keep denying that’s your issue. You also keep editing old posts which makes your updates really hard to follow.
Creating a new container does not create a new config as it’s stored outside the container.
Since you map the /app/config to your storage location, these two should literally be the same file. They can’t be different unless you’re looking at a different storage location than what your container is mapped to.
It looks like you’re using the wrong command for getting the dashboard. From the docs:
docker exec -it storagenode /app/dashboard.sh
If you’re using the storagenode binary directly like you are doing you will need to point it to the correct config location using --config-dir
. Have a look at the help too… but you really shouldn’t need that. Just follow the instructions in the documentation.
$ docker exec -it storagenode /app/storagenode --help
StorageNode
Usage:
/app/storagenode [command]
Available Commands:
config Edit config files
dashboard Display a dashboard
diag Diagnostic Tool support
exit-satellite Initiate graceful exit
exit-status Display graceful exit status
help Help about any command
run Run the storagenode
setup Create config files
version output the version's build information, if any
Flags:
--color use color in user interface
--config-dir string main directory for storagenode configuration (default "/root/.local/share/storj/storagenode")
--db.conn_max_lifetime duration Maximum Database Connection Lifetime, -1ns means the stdlib default (default -1ns)
--db.max_idle_conns int Maximum Amount of Idle Database connections, -1 means the stdlib default (default 20)
--db.max_open_conns int Maximum Amount of Open Database connections, -1 means the stdlib default (default 25)
--debug.addr string address to listen on for debug endpoints (default "127.0.0.1:0")
--debug.trace-out string If set, a path to write a process trace SVG to
--defaults string determines which set of configuration defaults to use. can either be 'dev' or 'release' (default "release")
-h, --help help for /app/storagenode
--identity-dir string main directory for storagenode identity credentials (default "/root/.local/share/storj/identity/storagenode")
--log.caller if true, log function filename and line number
--log.development if true, set logging to development mode
--log.encoding string configures log encoding. can either be 'console' or 'json' (default "console")
--log.level Level the minimum log level to log (default info)
--log.output string can be stdout, stderr, or a filename (default "stderr")
--log.stack if true, log stack traces
--metrics.addr string address to send telemetry to (default "collectora.storj.io:9000")
--metrics.app string application name for telemetry identification (default "storagenode")
--metrics.app-suffix string application suffix (default "-release")
--metrics.instance-prefix string instance id prefix
--metrics.interval duration how frequently to send up telemetry (default 1m0s)
--monkit.hw.oomlog string path to log for oom notices (default "/var/log/kern.log")
Use "/app/storagenode [command] --help" for more information about a command.
I’m really not a fan of how you’re treating people who are trying to help you. So I hope this posts helps you out, but I’m done after this.
4 Likes