ServiceNow requires a MID server when you want to interact with resources behind firewalls. I wanted to allow my end users to reset there Open VPN Google Auth code using self service. Due to this I needed to install a MID server to reach our servers. I put this Docker to make things easier.
Below is a link for a quick explanation of SN Mid server:
It is a simple Java application. I did not want to install it on bare metal. We use docker here at work. So a good reason to use docker.
I found the following git repo that had mid server in Docker. Only problem was that it was out of date and using Ubuntu for it is base image.
So I tweaked a few things changed base image to Centos.
The next issue is that the download file for the installation changes for each ServiceNow update.
So I created a dockerhub account and created a build linked to my repo. When I update the Wget url and push the code to master, a job in docker cloud is fired off via webhook. This auto builds the docker image.
This was very helpful but I still had one more issue. My prod SN instance is usually a version or two behind dev. I would need to use a different docker image for Prod.
My solution was to create another git branch and create a separate docker cloud build. This way I could have prod and dev branch. Depending on which branch I update it will build a different docker image.
My github and docker image links are below. Feel free to use it, fork it whatever: