> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pangolin.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Enable Geo-location

> Configuration requirements to enable geolocation features in Pangolin

<div id="pangolin-toc-cta" className="pangolin-toc-cta-source">
  <Card title="Try free on Pangolin Cloud" icon="cloud" href="https://app.pangolin.net/auth/signup" arrow="true" cta="Sign up free">
    Fastest way to get started with Pangolin using the hosted control plane. No credit card required.
  </Card>
</div>

Pangolin uses a geolocation database for several geolocation features like geoblocking and analytics. To enable geolocation features in Pangolin self-hosted, you must download and place the Maxmind geoip database into the `config/` directory and update the config file. This can be done for free.

<Tip>
  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.
</Tip>

<Tip>
  It is possible to automate this process with a Docker container from Maxmind themself.
  Have a look at this [Community guide](/self-host/community-guides/geolite2automation) on how to implement this!
</Tip>

You can use the installer to download and place the database for you, just grab the latest installer:

```bash theme={"dark"}
curl -fsSL https://static.pangolin.net/get-installer.sh | bash
```

Then run the installer again:

```bash theme={"dark"}
./installer
```

### Manual Installation Steps

<Steps>
  <Step title="Download and extract the GeoIP database">
    Download and extract the GeoLite2 Country database using the following commands:

    ```bash theme={"dark"}
    # 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_*
    ```
  </Step>

  <Step title="Update the Pangolin config file">
    Update your Pangolin configuration to point to the new GeoIP database file. Edit your `config/config.yml` file to include the following entry:

    ```yaml theme={"dark"}
    server:
      maxmind_db_path: "./config/GeoLite2-Country.mmdb"
    ```
  </Step>

  <Step title="Restart Pangolin">
    Restart your Pangolin instance to apply the changes:

    ```bash theme={"dark"}
      docker compose restart pangolin
    ```
  </Step>
</Steps>

Alternatively, 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.
