It depends on what specific thing you want to add geoblocking to, but often something like the MaxMind GeoIP database, which then can feed into a firewall to pre-emptively geo-block at a connection level, or as part of e.g. nginx geolocating the IP a of the connecting IP then making the blocking decision at request time.
There's a project that works with Traefik's forward-auth middleware to do this, which is probably how I would go about it if I wanted it at an HTTP level.