Pihole not updating

I’m currently running the pihole addons just fine, but it says it needs to be updated. I’ve run the update in Rockstor for the addons. I’ve uninstalled and reinstalled it. I’ve tried to SSH into it, to do it manual (but ssh isn’t working). Not sure what else to do.

Hi @Nathan_Brin,

It’s normal for it not to be updated this way, as we need to use the “Docker way” of doing so. Fortunately, thanks to @laxdog, we already have an updated Rockon for pi-hole that you can install manually.

Indeed, clicking the “Update” button on the Rockon page only refreshes the list of approved Rockon, which the updated pi-hole has not reached yet.
The steps to install it are described here:

  1. Create the following directory: /opt/rockstor/rockons-metastore
  2. Place the pi-hole.json there. Here’s the file:
    rockon-registry/pi-hole.json at bc9b8b8fdcb7bde573cdd7f7fc0795852ef4b095 · rockstor/rockon-registry · GitHub

Now, when you refresh the list of available Rock-on by clicking the “Update” button, you should see the new one as well. We now need to proceed with the Uninstall of the current pi-hole and install of the new one. No worries, though, as you can simply re-use the same shares you are currently using for the pihole Rockon and you will keep all the settings you had set.

  1. Turn current pihole Rock-on off on the Rockstor webUI
  2. Due to the specificity of pihole, here things differ depending on your setup:
    a. you set both of your DNS servers on your router to your pi-hole machine: Pull new image: docker pull pihole/pihole:latest. Then go to step 3.
    b. you kept one non-pihole DNS server on your router: go to step 3 directly.
  3. Uninstall Rock-On from webUI
  4. Install the new Rock-on from the webUI using the same pi-hole config volume.

We had a discussion about this update process there if you want more info:

Everything should now be working ok. The only thing to make sure of with this Rock-on, is that you you still have a DNS server up (non-pihole) while the Rock-on is off otherwise you will not be able to pull the updated pihole image.

Hope this helps,

Hi @Flox,

i would like to update my pi-hole rockon and tried your instructions. But after step 2. refresh the list of available rock-ons i get this error

        Traceback (most recent call last):

File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, in _handle_exception
File “/opt/rockstor/src/rockstor/storageadmin/views/rockon.py”, line 420, in _get_available
ds = json.load(fo)
File “/usr/lib64/python2.7/json/init.py”, line 290, in load
File “/usr/lib64/python2.7/json/init.py”, line 338, in loads
return _default_decoder.decode(s)
File “/usr/lib64/python2.7/json/decoder.py”, line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “/usr/lib64/python2.7/json/decoder.py”, line 384, in raw_decode
raise ValueError(“No JSON object could be decoded”)
ValueError: No JSON object could be decoded

Any help would be appreciated.


Hi @Bert,

Sorry you’re having troubles. Could you please describe in details how you placed the updated JSON file into /opt/rockstor/rockons-metastore?
The reason I’m asking is that it seems to me the error you’re seeing is due to a badly formatted JSON file. If you copy-pasted the contents of the file, maybe some quirk got introduced and led to wrong JSON formatting. A simple online resource to check your file could be https://jsonlint.com.

Hope this helps,

1 Like

Hi @Flox,

thank you!
Your assumption was correct.
What i did
wrong #1: Downloaded the json file from your link with “save target as…”, copied it over network into a rockstor share, then moved it into /opt/rockstor/rockons-metastore and hit update. -> Error
wrong #2: selected the content of the json file, copied and pasted into Microsoft 10 Wordpad and saved as .json. -> Error
Right way: Used Notepad++ and selected the content of the json file, copied and pasted into it, selected language json in notepad++ and saved as json. Copied it over network in a rockstor share, then moved it into /opt/rockstor/rockons-metastore and hit update. -> Success


Glad it worked!
Did the pi-hole update complete successfully as well? I hope everything else went well and you’re all set.

Hi @Flox,

yes, followed your instructions in the first post and everything else went well.

May i delete the json file in the /opt/rockstor/rockons-metastore directory or has it to stay there?

I’ve personally never tested that, but I assume the Rock-on should still be able to be turned off and back on without the JSON file. Nevertheless, note that if you want to re-install the Rock-on, let’s say if the docker image gets updated, you will need the JSON file (the same file). As a result, I personally prefer to leave the file in place.

If everything continues to run smoothly for a little while regarding this Rockon, don’t hesitate to confirm it does indeed work well on the corresponding Pull Request: https://github.com/rockstor/rockon-registry/pull/156

I will gladly respond on the pull request.

Thanks again for your support!