diff --git a/README.md b/README.md index cb9f54c..8a8dd2b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Navigate to `dashboard.domain.com` from your LAN to view the dashboard. set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; ``` -- [Swag Maxmind mod](https://github.com/linuxserver/docker-mods/tree/swag-maxmind) is required to enable the geo location graph +- Either [Swag Maxmind mod](https://github.com/linuxserver/docker-mods/tree/swag-maxmind) or [Swag DBIP mod](https://github.com/linuxserver/docker-mods/tree/swag-dbip) are required to enable the geo location graph. # Example  diff --git a/root/dashboard/www/index.php b/root/dashboard/www/index.php index 777ffda..1ea0ee1 100644 --- a/root/dashboard/www/index.php +++ b/root/dashboard/www/index.php @@ -173,13 +173,29 @@ HTML; } - $geodb = file_exists('/config/geoip2db/GeoLite2-City.mmdb') ? '--geoip-database=/config/geoip2db/GeoLite2-City.mmdb' : ''; - $goaccess = shell_exec("/usr/local/bin/goaccess -a -o html --config-file=/dashboard/goaccess.conf ".$geodb); + function GetGoaccess() { + $dbip = '/config/geoip2db/dbip-country-lite.mmdb'; + $maxmind = '/config/geoip2db/GeoLite2-City.mmdb'; + if (file_exists($dbip) and file_exists($maxmind)): + $geodb = (filemtime($dbip) > filemtime($maxmind)) ? '--geoip-database='.$dbip : '--geoip-database='.$maxmind; + elseif (file_exists($dbip)): + $geodb = '--geoip-database='.$dbip; + elseif (file_exists($maxmind)): + $geodb = '--geoip-database='.$maxmind; + else: + $geodb = ''; + endif; + + $goaccess = shell_exec("/usr/local/bin/goaccess -a -o html --config-file=/dashboard/goaccess.conf ".$geodb); + $goaccess = str_replace("