Error: Error creating revocation database: revocation database: boltdb: open config/revocations.db: read-only file system

image

That’s enough. Please propagate the owner to all folders and files

sudo chown $(id -u):$(id -g) -R /mnt/storj

after that try to run the node using your full docker run command (you shouldn’t run the SETUP step anymore).

It didn’t help
2024-01-27 19:47:55,030 INFO exited: storagenode (exit status 1; not expected)
2024-01-27T19:47:55Z INFO Current binary version {“Process”: “storagenode-updater”, “Service”: “storagenode”, “Version”: “v1.95.1”}
2024-01-27T19:47:55Z INFO Version is up to date {“Process”: “storagenode-updater”, “Service”: “storagenode”}
2024-01-27T19:47:55Z INFO Current binary version {“Process”: “storagenode-updater”, “Service”: “storagenode-updater”, “Version”: “v1.95.1”}
2024-01-27T19:47:55Z INFO Version is up to date {“Process”: “storagenode-updater”, “Service”: “storagenode-updater”}
2024-01-27 19:47:56,084 INFO success: processes-exit-eventlistener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-01-27 19:47:56,088 INFO spawned: ‘storagenode’ with pid 86
2024-01-27 19:47:56,090 INFO success: storagenode-updater entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-01-27T19:47:56Z INFO Configuration loaded {“process”: “storagenode”, “Location”: “/app/config/config.yaml”}
2024-01-27T19:47:56Z INFO Anonymized tracing enabled {“process”: “storagenode”}
2024-01-27T19:47:56Z INFO Operator email {“process”: “storagenode”, “Address”: “my@proton.me”}
2024-01-27T19:47:56Z INFO Operator wallet {“process”: “storagenode”, “Address”: “0x952c36eed001d4e23b1dd1110173314496da3049”}
Error: Error creating revocation database: revocation database: boltdb: open config/revocations.db: read-only file system
storj.io/storj/private/kvstore/boltdb.New:42
storj.io/storj/private/revocation.openDBBolt:52
storj.io/storj/private/revocation.OpenDB:35
storj.io/storj/private/revocation.OpenDBFromCfg:23
main.cmdRun:69
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
2024-01-27 19:47:56,236 INFO exited: storagenode (exit status 1; not expected)
2024-01-27 19:47:58,243 INFO spawned: ‘storagenode’ with pid 95
2024-01-27T19:47:58Z INFO Configuration loaded {“process”: “storagenode”, “Location”: “/app/config/config.yaml”}
2024-01-27T19:47:58Z INFO Anonymized tracing enabled {“process”: “storagenode”}
2024-01-27T19:47:58Z INFO Operator email {“process”: “storagenode”, “Address”: “my@proton.me”}
2024-01-27T19:47:58Z INFO Operator wallet {“process”: “storagenode”, “Address”: “0x952c36eed001d4e23b1dd1110173314496da3049”}
Error: Error creating revocation database: revocation database: boltdb: open config/revocations.db: read-only file system
storj.io/storj/private/kvstore/boltdb.New:42
storj.io/storj/private/revocation.openDBBolt:52
storj.io/storj/private/revocation.OpenDB:35
storj.io/storj/private/revocation.OpenDBFromCfg:23
main.cmdRun:69
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

2024-01-27 19:47:55,030 INFO exited: storagenode (exit status 1; not expected)
2024-01-27T19:47:55Z INFO Current binary version {“Process”: “storagenode-updater”, “Service”: “storagenode”, “Version”: “v1.95.1”}
2024-01-27T19:47:55Z INFO Version is up to date {“Process”: “storagenode-updater”, “Service”: “storagenode”}
2024-01-27T19:47:55Z INFO Current binary version {“Process”: “storagenode-updater”, “Service”: “storagenode-updater”, “Version”: “v1.95.1”}
2024-01-27T19:47:55Z INFO Version is up to date {“Process”: “storagenode-updater”, “Service”: “storagenode-updater”}
2024-01-27 19:47:56,084 INFO success: processes-exit-eventlistener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Please show result of the command

lsblk --fs -m

Please stop and remove the container, unmount this disk and check it

sudo umount /mnt/storj /media/pi/1804-234A
sudo fsck /dev/sda1

After that mount it back

sudo mount -a

and try to run the container. Make sure that you updated your binding option

in your docker run command. It should be

--mount type=bind,source="/mnt/storj",destination=/app/config

So perhaps the easiest way would be to remove the --user ... option and change the owner to the root and always use sudo to run your container.
This way the root user will have full rights.

So, stop and remove the container

docker stop -t 300 storagenode
docker rm storagenode

Change the owner to root:

sudo chown root:root -R /mnt/storj

And run your docker run command without --user $(id -u):$(id -g) option.

Or you may try to change the owner for the mountpoint to pi:pi:

sudo chown $(id -u):$(id -g) -R /mnt/storj

this command should be executed on the unmounted mount point. Then you need to mount the disk and may try to run the container with a --user $(id -u):$(id -g) option.

sudo docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967/tcp -p 127.0.0.1:14002:14002 -e WALLET=“0x952c36eed001d4e23b1dd1110173314496da3049” -e EMAIL="my@proton.me" -e ADDRESS=“my.portmap.host:55280” -e STORAGE=“1.6TB” --user $(id -u):$(id -g) --mount type=bind,source=“/home/pi/.local/share/storj/identity/storagenode”,destination=/app/identity --mount type=bind,source=“/mnt/storj”,destination=/app/config --name storagenode storjlabs/storagenode:latest
?

if you changed the owner to

then - yes. Otherwise you need to change the owner to a proper one - either to root:root or to $(id -u):$(id -g).

It works now we’ll see how long it works thanks so much for the help at the moment :smiley:

1 Like

2024-01-28T14:04:32Z INFO Operator wallet {“process”: “storagenode”, “Address”: “0x952c36eed001d4e23b1dd1110173314496da3049”}
Error: Error creating revocation database: revocation database: boltdb: open config/revocations.db: read-only file system
storj.io/storj/private/kvstore/boltdb.New:42
storj.io/storj/private/revocation.openDBBolt:52
storj.io/storj/private/revocation.OpenDB:35
storj.io/storj/private/revocation.OpenDBFromCfg:23
main.cmdRun:69
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
2024-01-28 14:04:32,694 INFO exited: storagenode (exit status 1; not expected)
2024-01-28 14:04:33,696 INFO gave up: storagenode entered FATAL state, too many start retries too quickly
2024-01-28 14:04:34,699 WARN received SIGQUIT indicating exit request
2024-01-28 14:04:34,699 INFO waiting for processes-exit-eventlistener, storagenode-updater to die
2024-01-28T14:04:34Z INFO Got a signal from the OS: “terminated” {“Process”: “storagenode-updater”}
2024-01-28 14:04:34,703 INFO stopped: storagenode-updater (exit status 0)
2024-01-28 14:04:35,706 INFO stopped: processes-exit-eventlistener (terminated by SIGTERM)
OMG

So, it’s still cannot write to this disk?
Is it the old log or a new one?
What’s your current docker run command and who is the owner of the disk?

ls -l /mnt/storj

sudo docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967/tcp -p 127.0.0.1:14002:14002 -e WALLET=“0x952c36eed001d4e23b1dd1110173314496da3049” -e EMAIL="my@proton.me" -e ADDRESS=“my.portmap.host:55280” -e STORAGE=“1.6TB” --user $(id -u):$(id -g) --mount type=bind,source=“/home/pi/.local/share/storj/identity/storagenode”,destination=/app/identity --mount type=bind,source=“/mnt/storj”,destination=/app/config --name storagenode storjlabs/storagenode:latest
image

Does it work now or still crashes?

It works for 3 minutes but it doesn’t work anymore

Error: Error creating revocation database: revocation database: boltdb: open config/revocations.db: read-only file system
storj.io/storj/private/kvstore/boltdb.New:42
storj.io/storj/private/revocation.openDBBolt:52
storj.io/storj/private/revocation.OpenDB:35
storj.io/storj/private/revocation.OpenDBFromCfg:23
main.cmdRun:69
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

Then try to stop and remove the container, unmount the drive, connect it to Windows, check and fix the filesystem there, then safely eject the disk and connect it back to pi, mount it, then try to run the node.
Please also check that this disk has an external power supply.

on Windows

on linux

On Linux to see the content of the /mnt folder with GUI you need to run the file manager with sudo.
It’s better to use a terminal instead:

sudo ls -l /mnt/

also, did you mount the disk? If you added the mount line to the /etc/fstab, then you may mount it:

sudo mount -a

and check:

df --si -T