Geo-Checker
Simple GeoIP Lookup Server
High-performance, open-source IP geolocation API. Built on OpenResty and MaxMind. Ready for Docker and Kubernetes.
Blazing Fast
Built on OpenResty (Nginx) for high-performance, non-blocking I/O. Handles thousands of requests per second with ease.
Accurate Data
Uses MaxMind GeoIP2 databases for reliable IP-to-location resolution. Includes built-in cron for automatic database updates.
Docker Ready
Lightweight Docker image based on Alpine Linux. Easy to deploy and integrate into your existing microservices architecture.
Kubernetes Native
Full Helm chart support for easy deployment to Kubernetes clusters. Scalable and cloud-native ready.
geo-checker: ~
# Country Detection
curl localhost:8080/ip/8.8.8.8
{ "IP": "8.8.8.8", "iso2Code": "US", "name": "United States" }# City Detection curl localhost:8080/ip/city/8.8.8.8
{ "ip": "8.8.8.8", "country_iso_code": "US", "country_name": "United States", "city_name": "Mountain View", "continent_name": "North America", "subdivision_iso_code": "CA", "subdivision_name": "California" }# IPv6 Support curl localhost:8080/ip/city/2a03:2880:f189:80:face:b00c:0:25de
{ "ip": "2a03:2880:f189:80:face:b00c:0:25de", "country_iso_code": "GB", "country_name": "United Kingdom", "city_name": "London", "continent_name": "Europe" }# Possible to pass IP address as a custom header or cloudflare header curl localhost:8080/myip -H "X-Real-Ip: 8.8.8.8"
{ "IP": "8.8.8.8", "iso2Code": "US", "name": "United States" }
Installation
# Run with Docker docker run -d \ -e GEOIP_ACCOUNTID="YourAccountID" \ -e GEOIP_LICENSEKEY="YourLicenseKey" \ -e GEOIP_EDITIONID="GeoLite2-Country" \ -p 8080:80 \ ymuski/geo-checker:latest
# Add Helm Repo helm repo add geo-checker https://yurymuski.github.io/geo-checker/helm/ helm repo update # Install Chart helm upgrade --install my-geo-checker geo-checker/geo-checker \ --set maxmind.geoipAccountid="YourAccountID" \ --set maxmind.geoipLicensekey="YourLicenseKey"