libpostal (https://github.com/openvenues/libpostal) is a C library for parsing and normalizing street addresses. Using libpostal requires compiling a C program that downloads ~2GB of training data.
This Dockerfile automates that compilation and creates a container with libpostal and gopostalmulti.c which allows for an interaction of a TCP socket using msgpack responses for the best performance.
docker build -t gopostalmulti .
docker swarm init
docker service create --publish published=9080,target=8080 --replicas=4 --name gopostalmultiservice gopostalmulti
docker service scale gopostalswarm=4
See REST API here
File a Github issue
Just submit a pull request :D