Running on resin.io, ports 53 80

So I want to set my folks up with a pi-hole on a zero. I was thinking of using Resin.io, which deploys apps in docker containers for mass deployment.

The cool part is I could maintain their system and maybe just maybe replace their ads with Nicholas Cage pictures once in a while.

Using an existing Docker image (https://github.com/diginc/docker-pi-hole), I got it pi-hole up and running through Resin (the only code is needed is FROM diginc/pi-hole:arm in a Dockerfile!)

The big issue is that Resin uses port 53 for DNS resolution and 80 for a web file server. I can see the pi-hole dashboard, but it cannot function as a DNS server. The console feed includes dnsmasq: failed to create listening socket for port 53: Address already in use.

The docker-pi-hole page linked above has a solution to rerouting ports but it involves a multi-container reverse proxy using nginx and now I'm getting in over my head.

Is there a simpler fix for getting the ports to work? I'm starting to think I should abandon the Resin idea and just install pi-hole the old fashioned way.

1 Like

I think you may find that Resin frowns on running an open DNS resolver on their infrastructure. Since running on port 53 would leave that instance open to the world, it's just a matter of time before it's discovered and exploited. I would just go the old fashioned route and either use some spare equipment or grab a Zero or 2B. You could always set up Weaved and allow yourself shell and web access to the install remotely and slip in a few Cage's when needed!

2 Likes