Unable to check for new update. Stuck on 4.6.2

Hello there.

Using official docker image and for the past 3y it worked just fine. Atm I am on 4.6.2 version. I noticed that 4.7.(1) is out but I am not getting any info about it in the UI.

Console core:update also registered no pending updates, so my question is, how do I “force” this check or is the only way to download the zip manually and install it?

I have updated the docker image already with 4.7.1 (latest tag), but as always there is a need to update via UI, but as said, this is not registering at all.

Any help would be appreciated.

This happens, when Matomo is not allowed to do external requests (e.g. firewall), which is in general a good security measure. You can either whitelist Matomo to check for updates externally, or do the Update manually (download archive & replace files).

Thank you for your reply.

This is odd because there was no change on my end regarding FW settings or anything for that matter that could prevent communication to the outside world. Also, the container has a normal communication with the outside world.

If I were to whitelist certain destinations, what exact destination(s) should it be in this particular case? Asking as I don’t do any outgoing/incoming blocking for Matomo, so can’t really detect them.

Tnx again!

UPDATE: figured out. Did a wget towards builds.matomo.org and got a LE cert error. Looks like a DNS cache problem on my end as the new ROOT CA is not detected. Will fix it.

tnx again for your time.

1 Like

Just wanted to add, that even though the problem with dns cache/cert error that I had yesterday is resolved, checking for updates still returns no new updates.

Can you try making a request to https://api.matomo.org/1.0/getLatestVersion/?piwik_version=3.14.1-b2&php_version=7.2.5&mysql_version=5.7.0&trigger=CoreHome&timezone=UTC with your correct versions (ideally from the server)?

Hello Lukas, tnx for your reply.

Once I bash into the running container, and try to do wget i get this

root@0b0ae4e81676:/var/www/html# wget
bash: wget: command not found

On top of this, I am gunning for 4.7.1 version but my SQL version and PHP is on a different version as well.

Matomo version: 4.6.2
MySQL version: 5.7.9
PHP version: 8.0.15

So my question here is do I have to align the URL to match as well?

I would like to say that using wget from a bare metal docker host works fine, it’s just that from the docker contianer this doesn’t work. Also, I never did it this way as it was never needed.

This is an example from the host level

root@IG-11:~# wget api.matomo.org
--2022-02-08 11:12:53--  http://api.matomo.org/
Resolving api.matomo.org..., 2a00:b6e0:1:200:177::1
Connecting to api.matomo.org||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]
Saving to: 'index.html.1'

index.html.1                             [ <=>                                                                ]       0  --.-KB/s    in 0s      

2022-02-08 11:12:58 (0.00 B/s) - 'index.html.1' saved [0/0]

Tnx for any insight on this. I do plan on recreating a new container directly from 4.7.1 image and connect it to the existing config/DB, but just want to see if there is anything else that I can do before going that route.

So, if you check https://api.matomo.org/1.0/getLatestVersion/?piwik_version=4.6.2&php_version=8.0.15&mysql_version=5.7.9 you can see that for that setup 4.7.1 is indeed the latest version.

Now the question is if your Matomo server is able to make that same HTTP request. You could maybe try curl instead of wget (also because it directly displays the response)

This is what I get when I curl the url

You need to put the URL in quotes as otherwise your shell assumes the & mean you want to run everything before as a background task.

Nevertheless it seems to be working fine and I’m really not sure why the update check wouldn’t work then.

Tnx for the feedback. I am open to trying to do a manual pull and try it that way, but just wanted to doublecheck that the unziped content can stay inside its “matomo” folder or do I need to have the whole structure in a specific location before it can be detected as a new pending version to be installed?

Just an update. After trying to recreate a fresh container and connecting it to the same content, the problem still persisted. I used a fresh 4.9.0. image.

Eventually using the manual process method, the update was detected and executed. Will keep an eye out if the future update will be detected automatically.