Here’s where I’m at now.
I managed to get PiHole installed into a Docker container but could not get it to run because of the port 80 conflict with NextCloud as expected.
I decided to follow the instructions on the NextCloud GitHub page to change the port of the NextCloud interface.
That worked and I am still able to connect to NextCloud by adding the port suffix to the IP.
I am now able to start PiHole, login to the web interface and set it up.
The next problem I ran into was setting the DNS on my router to the PiHole IP. It seemed to be working for a few minutes until the router “broke”. It didn’t like what I had done and decided to reset its IP range back to the default, which didn’t work with the DHCP reservations I had setup. This was real fun because my 8 year old started crying because YouTube stopped working and my wife started to panic that she wouldn’t be able to work the next day because the internet was down. I had to spend the next hour getting the router set back up so it works again.
Turns out, I put the PiHole IP into the wrong DNS setting in the router. After some research, I found it has to be put in under the DHCP server settings, not the WAN settings where I put it. I guess I will try again this evening and hope it works this time.
I also learned it is a good idea to make a backup of the router settings so that it can be restored quickly if needed!!!
Hopefully logging this experiment will be useful to someone else out there.