diff --git a/community/enable-geoblocking.mdx b/community/enable-geoblocking.mdx new file mode 100644 index 0000000..5150001 --- /dev/null +++ b/community/enable-geoblocking.mdx @@ -0,0 +1,47 @@ +--- +title: "Enable Geo Blocking" +description: "Configuration requirements to enable geoblocking in Pangolin" +--- + +To enable geoblocking in Pangolin Community you must download and place the Maxmind geoip database into the `config/` directory and update the config file. This can be done for free. + + +Remember to keep the GeoIP database updated regularly, as IP-to-country mappings can change over time. You can just repeat the download and extraction steps periodically to ensure your database is current. + + + + + Download and extract the GeoLite2 Country database using the following commands: + + ```bash + # Download the GeoLite2 Country database + curl -L -o GeoLite2-Country.tar.gz https://github.com/GitSquared/node-geolite2-redist/raw/refs/heads/master/redist/GeoLite2-Country.tar.gz + + # Extract the database + tar -xzf GeoLite2-Country.tar.gz + + # Move the .mmdb file to the config directory + mv GeoLite2-Country_*/GeoLite2-Country.mmdb config/ + + # Clean up the downloaded files + rm -rf GeoLite2-Country.tar.gz GeoLite2-Country_* + ``` + + + Update your Pangolin configuration to point to the new GeoIP database file. Edit your `config/config.json` file to include the following entry: + + ```yaml + server: + maxmind_db_path: "./config/GeoLite2-Country.mmdb" + ``` + + + Restart your Pangolin instance to apply the changes: + + ```bash + docker compose restart pangolin + ``` + + + +Alternativly you can create an account at [Maxmind](https://www.maxmind.com/en/geolite2/signup) to get a license key and download the database directly from them. \ No newline at end of file diff --git a/docs.json b/docs.json index bfab271..9d0dbf7 100644 --- a/docs.json +++ b/docs.json @@ -2,7 +2,7 @@ "$schema": "https://mintlify.com/docs.json", "theme": "aspen", "name": "Pangolin Docs", - "description": "Pangolin is a self-hosted alternative to Cloudflare Tunnels, designed to provide secure and highly-available ingress access to applications.", + "description": "Pangolin is a communityed alternative to Cloudflare Tunnels, designed to provide secure and highly-available ingress access to applications.", "colors": { "primary": "#F36117", "light": "#F36117", @@ -85,45 +85,46 @@ { "group": "Community Edition", "pages": [ - "self-host/quick-install", + "community/quick-install", { "group": "Manual Installation", "pages": [ - "self-host/manual/docker-compose", - "self-host/manual/unraid" + "community/manual/docker-compose", + "community/manual/unraid" ] }, - "self-host/dns-and-networking", - "self-host/choosing-a-vps", - "self-host/how-to-update", - "self-host/supporter-program", - "self-host/system-architecture", + "community/dns-and-networking", + "community/choosing-a-vps", + "community/how-to-update", + "community/supporter-program", + "community/system-architecture", + "community/enable-geoblocking", { "group": "Advanced Configuration", "pages": [ - "self-host/advanced/config-file", - "self-host/advanced/wild-card-domains", - "self-host/advanced/cloudflare-proxy", - "self-host/advanced/without-tunneling", - "self-host/advanced/container-cli-tool", - "self-host/advanced/database-options", - "self-host/advanced/integration-api" + "community/advanced/config-file", + "community/advanced/wild-card-domains", + "community/advanced/cloudflare-proxy", + "community/advanced/without-tunneling", + "community/advanced/container-cli-tool", + "community/advanced/database-options", + "community/advanced/integration-api" ] }, { "group": "Community Guides", "pages": [ - "self-host/community-guides/overview", - "self-host/community-guides/proxyprotocol", - "self-host/community-guides/geoblock", - "self-host/community-guides/crowdsec", - "self-host/community-guides/metrics", - "self-host/community-guides/homeassistant", - "self-host/community-guides/middlewaremanager", - "self-host/community-guides/traefiklogsdashboard" + "community/community-guides/overview", + "community/community-guides/proxyprotocol", + "community/community-guides/geoblock", + "community/community-guides/crowdsec", + "community/community-guides/metrics", + "community/community-guides/homeassistant", + "community/community-guides/middlewaremanager", + "community/community-guides/traefiklogsdashboard" ] }, - "self-host/telemetry" + "community/telemetry" ] }, { @@ -136,7 +137,7 @@ { "group": "Manual Installation", "pages": [ - "self-host/manual/remote" + "community/manual/remote" ] } ] @@ -213,7 +214,7 @@ "redirects": [ { "source": "/telemetry", - "destination": "/self-host/telemetry" + "destination": "/community/telemetry" } ] } \ No newline at end of file diff --git a/manage/geoblocking.mdx b/manage/geoblocking.mdx index ae3a252..6f6ca19 100644 --- a/manage/geoblocking.mdx +++ b/manage/geoblocking.mdx @@ -4,9 +4,7 @@ description: "Configure geo blocking to restrict access based on geographic loca --- -Geo blocking is only available for targets created with managed nodes or in the cloud because we need to host services to resolve IP addresses and evolve it quickly as network change. - -Fully self hosted users can install a [Traefik plugin](/self-host/community-guides/geoblock) for geo blocking support. +Geoblocking is available in Pangolin community! Make sure to follow this guide for how to enable: [Enabling Geo Blocking](/community/enable-geoblocking)