Disabling the Aggressive Inspircd Health Check

One of the first application stacks I went to install and setup on my new Raspberry Pi docker cluster was Inspircd/qwebirc/anope. This stack was running originally on a raspberry pi 1b (256MB RAM version). I wanted to move this off the pi1 since it was out of date and would need a complete reinstall to be back to full patch status. However shortly after getting it running in my swarm, I ran into issues.

The IRC server would restart every few hours, sometimes it would restart every 10 minutes or so. I deemed that as unacceptable on my basic setup even for just using it in development of IRC bots.

The stability issues came from a over zealous health check for the server. I decided to build my own docker container for it that removed the health check. I started by grabbing the GIT repo for their docker container.

git clone https://github.com/inspircd/inspircd-docker.git

After cloning the repo, the only change I made was to comment out the healthcheck lines which can be seen below.

HEALTHCHECK \
--interval=15s \
--timeout=3s \
--start-period=60s \
--retries=3 \
CMD \
/usr/bin/nc -z localhost 6667

After commenting out the healthcheck in the dockerfile, I rebuilt the container and pushed it to a local repository.

docker build . -t inspircd
docker images # then find the latest build of the inspircd container and use the hex value from that
docker tag [hex] 127.0.0.1:5000/inspircd
docker push 127.0.0.1:5000/inspircd

After updating my docker-compose file to reference the local repository copy of inspircd, I brought down the stack and redeployed it, this then used the newly built version of inspircd, fixing the health check problem, and providing much better uptime on the container.