Purchase a Raspberry Pi.
If you have an older Raspberry Pi, use Raspberry Pi Imager to download and install the latest Raspbian image to a SD card. You can also use Etcher. Install the Raspbian Lite version (command line with no desktop). Read more.
Change default “raspberry” password for user “pi.” Read more.
Configure static IP. Read more.
sudo nano /etc/dhcpcd.conf
Install Pi-hole on Raspberry Pi. Read more.
Option 1
curl -sSL https://install.pi-hole.net | bash
Option 2
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh
Option 3
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
Enable SSH. Read more.
Keep Raspberry Pi + Pi-hole updated.
sudo apt update
sudo apt full-upgrade
pihole -up
In Pi-hole, configure Custom DNS to use CleanBrowsing.