storjWidget for iOS / Android

Hi, thanks for the notice. I found an issue that was causing wrong values in estimatedPayoutToday sometimes. The reason is that it looks like when a new day starts, the node API’s may not be available or sending the correct information for a few seconds. That leads to the exporter thinking the node is offline and it saves the current value of total payouts without considering all nodes together. Then when a few seconds later the missing node is available again, the script assumes that that node earned everything it earned in that month at the current day…

I think I fixed it and pushed an update. Please let me know if the issue remains.

2 Likes

I encountered this problem with 1.71.2. With 1.72.2 it seems to be fixed

1 Like

I think something broke

-0,35$?
I wonder if that’s the new economic model? :joy: :rofl: :joy:

7 Likes

It happens to me when the nodes have top I/O, the problem is not the widget

I think the issue is that one of your two nodes is offline
. The earnings values only work when all nodes are online unfortunately…

The widget remembers what your current months earnings was on every day end and then compares the current value against that. So if yesterday both your nodes were online and now one of them is offline, it will not show correct values.

2 Likes

It also happens to me when I’m online but they don’t follow up on requests

I also noticed that sometimes the storagenode api is returning json errors or null values.

I tried to use your storjWidget for android. My NAS is a truenas Scale and get this error if i will run the docker:

root@truenas:~# docker run -d --restart always --privileged -p 3123:3123 -e NODES_LIST=192.168.178.199:14002,xxxchmidt.at:14002 -v storjWidgetVolume:/mnt/vm/ix-applications/docker/volumes/storjWidgetVolume mb17/storjwidget
docker: Error response from daemon: invalid volume specification: 'storjWidgetVolume:/mnt/vm/ix-applications/docker/volumes/storjWidgetVolume': 'storjWidgetVolume' 'path' not allowed to be mounted.
See 'docker run --help'.

You need to mount an outside directory to the container-internal path /var/www/storjWidgetVolume.

For example:
docker run -d --restart always --privileged -p 3123:3123 -e NODES_LIST=192.168.178.199:14002,xxxchmidt.at:14002 -v /mnt/vm/ix-applications/docker/volumes/storjWidgetVolume:/var/www/storjWidgetVolume mb17/storjwidget

thanks now I get following error:

docker: Error response from daemon: invalid volume specification: '/mnt/vm/ix-applications/docker/volumes/storjWidgetVolume:/var/www/storjWidgetVolume': Invalid mount '/mnt/vm/ix-applications/docker/volumes/storjWidgetVolume' path. Following service(s) use this path: Kubernetes.

Hmm looks like you can’t use this path /mnt/vm/ix-applications/docker/volumes/storjWidgetVolume. But you can replace it with any other path of your host system. The widget is only storing a small json file in there (max. a few KB). So you can for example use
-v /mnt/your_disk/your_path:/var/www/storjWidgetVolume

1 Like

I think the issue I posted earlier is still happening.

Side note: both my nodes are online. I’m not sure why this is happening, and they have been online for 90+ hours.

Hmm, there is an option to write a log file from the exporter. If you give the docker run command the parameter “-e LOGGING=True” and bind the volume to a path on your HDD (e.g. “-v /mnt/user/your_path:/var/www/storjWidgetVolume”), it should write a log-file there.

Example command would look like this:

sudo docker pull mb17/storjwidget

sudo docker run -d -p 3123:3123 --rm -v /mnt/user/deploy/storjWidget-exporter:/var/www/storjWidgetVolume -e LOGGING=True -e NODES_LIST=192.168.188.87:14002,192.168.188.87:14003 -e SCHEDULE=180 --memory=500m --name storjwidget mb17/storjwidget

I hope that will help to analyze the issue.

I’ll set that as an environment variable in my compose file and let you know.

1 Like

Oh, it seems to have fixed itself. Weird.

Maybe your node is sometimes a little overloaded and the API takes a little longer to respond. Then the node might be detected as offline, even if it is actually online. I will look into the configured timeouts of the exporter script, maybe I can tune it a little bit better. Do you have your databases on an SSD? Or on the HDD?

1 Like

It’s on an SD card on a raspberry pi

I mean the .db files from STORJ. The default location would be the storagenode/data directory, but they can be moved to a different path. Just to double check, you have your STORJ blobs data in an HDD, but moved the STORJ .db files to the raspberry’s sd card?

Ah. The .db files are on the HDD the storage node is using.

1 Like