Identity.cert not found

I’m having issues when performing
docker exec -it storagenode /app/storagenode run --config-dir=“/path/to/config/dir(for/config.yaml)” --identity-dir=“/path/to/identitycert/dir”
Without the identity-dir flag, I get the error

Error: Failed to load identity: file or directory not found: open /.local/share/storj/identity/storagenode/identity.cert: no such file or directory

Then when I put in the flag I essentially get the same error
docker exec -it storagenode /app/storagenode run --config-dir=“/Users/admin/Documents/storagenodefiles” --identity-dir=“/Users/admin/Library/Application \Support/Storj/Identity/storagenode”

Error: Failed to load identity: file or directory not found: open /Users/admin/Library/Application \Support/Storj/Identity/storagenode/identity.cert: no such file or directory

The identity.cert file does exist, as well as identity.key, ca.cert, ca.key, and identity.xxxxx.cert, ca.xxxxx.key

I’ve tried moving it to my desktop and documents folder and other locations, I’ve also tried …/Application Support/… instead of …/Application \Support/…
I’ve also tried with an without quotes. e.g. “path/to/storagenode”, ‘path/to/storagenode’, /path/to/storagenode, “/path/to/storagenode”, and path/to/storagenode.

I’m really stumped on this one.
Another annoying thing is doing
docker exec -it storagenode /app/storagenode help

Returns

–identity-dir string main directory for storagenode identity credentials (default “/.local/share/storj/identity/storagenode”)

When it should be

–identity-dir string main directory for storagenode identity credentials (default “~/.local/share/storj/identity/storagenode”)
…(~/ to denote the user directory)

The full error and output is:
admin@computer / % docker exec -it storagenode /app/storagenode run --config-dir=/Users/admin/Documents/storj/files --identity-dir=“~/Library/Application \Support/Storj/Identity/storagenode”
2024-03-08T03:01:13Z INFO Anonymized tracing enabled {“process”: “storagenode”}
2024-03-08T03:01:13Z ERROR Failed to load identity. {“process”: “storagenode”, “error”: “file or directory not found: open ~/Library/Application \Support/Storj/Identity/storagenode/identity.cert: no such file or directory”, “errorVerbose”: “file or directory not found: open ~/Library/Application \Support/Storj/Identity/storagenode/identity.cert: no such file or directory\n\tstorj.io/common/identity.Config.Load:326\n\tmain.cmdRun:49\n\tmain.newRunCmd.func1:32\n\tstorj.io/private/process.cleanup.func1.4:393\n\tstorj.io/private/process.cleanup.func1:411\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomOptions:112\n\tmain.main:30\n\truntime.main:267”}
Error: Failed to load identity: file or directory not found: open ~/Library/Application \Support/Storj/Identity/storagenode/identity.cert: no such file or directory
storj.io/common/identity.Config.Load:326
main.cmdRun:49
main.newRunCmd.func1:32
storj.io/private/process.cleanup.func1.4:393
storj.io/private/process.cleanup.func1:411
github.com/spf13/cobra.(*Command).execute:852
github.com/spf13/cobra.(*Command).ExecuteC:960
github.com/spf13/cobra.(*Command).Execute:897
storj.io/private/process.ExecWithCustomOptions:112
main.main:30
runtime.main:267

yes, its required.

What is the question? i do not understand.

1 Like

To run the node in a non-standard way you always need to provide a path to the config.yaml (--config-dir /app/config) and to the identity (--identity-dir /app/identity).

So why do you need to run it like this and not using the default container (which will do so automatically without any specific options, except mandatory environment variables like STORAGE, ADDRESS and WALLET)?