This mod adds the maxmind database to nginx using the license key defined in the environment variable.
This mod downloads the GeoLite2-City.mmdb
database under /config/geoip2db
, the database is updated weekly.
This mod should not be enabled together with the swag-dbip mod.
Follow these steps to enable the maxmind mod:
-
Acquire a maxmind license here: https://www.maxmind.com/en/geolite2/signup
-
In the container's docker arguments, set an environment variable
DOCKER_MODS=linuxserver/mods:swag-maxmind
If adding multiple mods, enter them in an array separated by
|
, such asDOCKER_MODS=linuxserver/mods:swag-maxmind|linuxserver/mods:swag-mod2
-
In the container's docker arguments, set the following environment variables:
MAXMINDDB_LICENSE_KEY=<license-key>
with your license keyMAXMINDDB_USER_ID=<user-id>
with your user id
-
Recreate the container to apply the changes.
-
Add the following line to
/config/nginx/nginx.conf
under thehttp
section:include /config/nginx/maxmind.conf;
-
Edit
/config/nginx/maxmind.conf
and add countries to the blocklist / whitelist according to the comments, for example:map $geoip2_data_country_iso_code $geo-whitelist { default no; GB yes; } map $geoip2_data_country_iso_code $geo-blacklist { default yes; US no; }
-
Use the definitions in the following way:
server { listen 443 ssl; listen [::]:443 ssl; server_name some-app.*; include /config/nginx/ssl.conf; client_max_body_size 0; if ($lan-ip = yes) { set $geo-whitelist yes; } if ($geo-whitelist = no) { return 404; } location / {
-
Restart the container to apply the changes.