ipinfo mod for swag
IPINFO Docker mod for Nginx based images
This mod downloads the ipinfo_lite.mmdb database under /config/geoip2db, the database is updated daily.
This mod should not be enabled together with swag-maxmind or swag-dbip mods.
Follow these steps to enable the ipinfo mod:
-
Sign up and aquire an ipinfo token here: https://ipinfo.io/signup
-
In the container's docker arguments, set the following environment variables:
IPINFO_TOKEN=<token>with your token.
-
In the container's docker arguments, set an environment variable
DOCKER_MODS=linuxserver/mods:swag-ipinfoIf adding multiple mods, enter them in an array separated by
|, such asDOCKER_MODS=linuxserver/mods:swag-ipinfo|linuxserver/mods:swag-mod2 -
Recreate the container to apply the changes.
-
Add the following line to
/config/nginx/nginx.confunder thehttpsection:include /config/nginx/ipinfo.conf; -
Edit
/config/nginx/ipinfo.confand add countries to the blocklist / whitelist according to the comments, for example:map $geoip2_data_country_iso_code $geo-whitelist { default no; UK 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 / {Or for blacklist with both some countries and continents:
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-blacklist yes; } if ($geo-blacklist = no) { return 404; } if ($continent-blacklist = no) { return 404; } location / { -
Restart the container to apply the changes.