Dependencies are a pain, so we try to limit them as much as possible. Our GeoIPMap server is packaged in a Docker container and needs Docker to run. It also needs to be able to access a few HTTP websites to get updated databases and check-in with the GeoIPMap home servers for instructions on when and where to get the new data.
A note about security: we validate the http ssl certificates on all of the servers we contact to ensure we know and trust where the data is coming from. On all downloaded data we validate data integrity with a hash from our trusted sources. This way we know that we get the right data, from the right sources.