Noob - no dashboard, no diag

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 :slight_smile:

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
-e WALLET=“x”
-e EMAIL=""
-e ADDRESS=“x:28967”
–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.

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

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/

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

  /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

      --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 "")
      --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 "") string               application name for telemetry identification (default "storagenode") 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.