Storj-node suddenly complains about missing info.db file, but it's present

My node ran for a while without problems now. Today I’ve noticed the storj-container in docker permanently restarts, complaining about:

Error opening database on storagenode: database: info opening file "config/storage/info.db" failed: unable to open database

I thought there is any issue with the storage-mount, but it’s present. Running the storj-container with entrypoint ‘bash’ gives me a cli shell and there also is the config file present:

ls -lah /app/config/storage/info.db
-rw-r–r-- 1 root root 16K May 19 01:50 /app/config/storage/info.db

I’m not shure, but I think there was a container update recently. I’m running watchtower which should take care of pulling new storj-node images and run updates as required. I’m not shure if this something has to do with this new issue.

Any suggestions?


Full error message:

2024-07-16T06:43:32Z	ERROR	failure during run	{"Process": "storagenode", "error": "Error opening database on storagenode: database: info opening file \"config/storage/info.db\" failed: unable to open database file: no such file or directory\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openDatabase:402\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openExistingDatabase:379\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openDatabases:354\n\tstorj.io/storj/storagenode/storagenodedb.OpenExisting:319\n\tmain.cmdRun:67\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:393\n\tstorj.io/common/process.cleanup.func1:411\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271", "errorVerbose": "Error opening database on storagenode: database: info opening file \"config/storage/info.db\" failed: unable to open database file: no such file or directory\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openDatabase:402\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openExistingDatabase:379\n\tstorj.io/storj/storagenode/storagenodedb.(*DB).openDatabases:354\n\tstorj.io/storj/storagenode/storagenodedb.OpenExisting:319\n\tmain.cmdRun:67\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:393\n\tstorj.io/common/process.cleanup.func1:411\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271\n\tmain.cmdRun:69\n\tmain.newRunCmd.func1:33\n\tstorj.io/common/process.cleanup.func1.4:393\n\tstorj.io/common/process.cleanup.func1:411\n\tgithub.com/spf13/cobra.(*Command).execute:983\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:1115\n\tgithub.com/spf13/cobra.(*Command).Execute:1039\n\tstorj.io/common/process.ExecWithCustomOptions:112\n\tmain.main:34\n\truntime.main:271"}
Error: Error opening database on storagenode: database: info opening file "config/storage/info.db" failed: unable to open database file: no such file or directory
	storj.io/storj/storagenode/storagenodedb.(*DB).openDatabase:402
	storj.io/storj/storagenode/storagenodedb.(*DB).openExistingDatabase:379
	storj.io/storj/storagenode/storagenodedb.(*DB).openDatabases:354
	storj.io/storj/storagenode/storagenodedb.OpenExisting:319
	main.cmdRun:67
	main.newRunCmd.func1:33
	storj.io/common/process.cleanup.func1.4:393
	storj.io/common/process.cleanup.func1:411
	github.com/spf13/cobra.(*Command).execute:983
	github.com/spf13/cobra.(*Command).ExecuteC:1115
	github.com/spf13/cobra.(*Command).Execute:1039
	storj.io/common/process.ExecWithCustomOptions:112
	main.main:34
	runtime.main:271

Hello @cryptoguru666,
Welcome back!

Since you seems run the container with sudo, then you shouldn’t use the --user $(id -i):$(id -g) option in your docker run command, or you need to setup your docker to run without sudo and then you need to update the owner recursively for all data.
It would also help, if you post your docker run command here (you may mask the private info, except mounts).