@mfb opened this Issue on April 29th 2019

For privacy policy reasons, we need Matomo to log only the visitor's country, not their city.

Therefore, we have configured the country-only Geo IP 2 database at index.php?module=UserCountry&action=adminIndex by using https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz as the download URL.

Inexplicably, however, Matomo is reporting:

According to this provider, your current location is:

(37.735, -122.373)
San Francisco, CA
United States

Note: This GeoIP implementation has access to the following types of databases: City.

No idea what could cause this, but I was thinking perhaps the plugin downloaded a City database and has failed to overwrite that with the Country database I specified? However, autoupdates have been running:

The updater was last run on 2019-04-29.

So, I'm stumped on how to properly setup country-only GeoIP lookup.

@sgiehl commented on May 31st 2019 Member

Do you still have that problem? Tried to reproduce that, but when I set up GeoIP with the country db url, it works like it should. Did you maybe set it up with the city database and changed to download url afterwards to the country db url? The task to update the database stored locally might not be automatically triggered when the url is changed...

@mfb commented on June 1st 2019

It was initially using the city database. So my question is, why is it not updating to use the country database when the autoupdate runs - it's now run several times on a weekly basis.

@sgiehl commented on August 13th 2019 Member

@mfb I've just investigated that one. The "issue" is quite simple. Once Matomo downloaded a database file, it's created in the folder misc. When changing the download url to another database type it will create a new file with this name.

So in your case you had the city database defined. So a GeoLite2-City.mmdb was created. Changing the download to country database created the file GeoLite2-Country.mmdb, but the city database file is not automatically removed. That way it will be used, until you remove it manually.

@tsteur @mattab any opinion if we should change the behavior here? Not sure if it's good to automatically remove other database files that might already exist...

@tsteur commented on August 13th 2019 Member

I wouldn't delete any, but if a user has configured to download the country DB, can we prefer using that DB in matomo? (I don't know how it works)

@sgiehl commented on August 14th 2019 Member

It walks through this list and stops as soon as a file exists, which is then used. We could maybe manipulate it to prefer a specific db if autoupdate is configured.

@mfb commented on September 12th 2019

I did some more research on this and I see that the city file is actually part of the docker build: https://github.com/matomo-org/docker/blob/master/Dockerfile-alpine.template

So this probably explains how the city file ended up in our instance in the first place.

Given that the city file is bundled with the container image, I think it'd be useful to change the logic somehow and/or add some additional configuration to the plugin?

@mattab commented on September 24th 2019 Member

Another solution could be to improve the text in the UI and list the filename used by the database. eg. write Note: This GeoIP implementation has access to the following types of databases: City (database in misc/GeoLite2-City.mmdb) or so.

@mfb commented on September 24th 2019

I'd propose since GeoLite2-City.mmdb is built in to the image, that file could be last in the list, allowing any other file to override it.

@mattab commented on December 24th 2019 Member

we'll probably stop using Maxmind soon, so closing this issue now, see #15308

This Issue was closed on December 24th 2019
Powered by GitHub Issue Mirror