Thankfully, most of the work has been figured out already. So, until we get an ansible playbook written, you can follow these steps:
Ubuntu
Execute the following:
sudo apt update
sudo apt -y upgrade
sudo apt -y install bind9 git
sudo git config --global http.sslVerify false # Yes, I know this is unsafe, working on a fix
cd /var
sudo git clone https://tildegit.org/.tilde/.tilde.git
sudo mv .tilde tilde
cd /var/tilde
sudo cp db.* /etc/bind/
sudo cp named.conf.* /etc/bind/
sudo systemctl restart bind9
sleep 3
sudo journalctl -xe
The last command should tell you if bind9 reloaded successfully, and if it did not. If it didn't, you'll need to fix the errors it shows you.
To update the zone files, go to /var/tilde, and execute:
cd /var/tilde/
sudo git pull
sudo cp db.* /etc/bind/
sudo cp named.conf.* /etc/bind/
sudo systemctl reload bind9
sudo journalctl -xe
CentOS
Execute the following:
sudo yum -y install bind bind-utils git
cd /var
sudo git clone https://tildegit.org/.tilde/.tilde.git
sudo mv .tilde tilde
cd /var/tilde/
sudo mkdir /etc/bind/
sudo cp db.* /etc/bind/
sudo cp named.conf.* /etc/bind/
sudo cp named.conf /etc/
Follow the directions below under "All Distros/OSs"
You will have to modify /etc/named.conf to include "/etc/bind/named.conf.local" in order for the above to work correctly. Then you can do the following:
sudo systemctl restart named
sudo journalctl -xe
The last command will tell you if everything restarted correctly, and if not, where errors are. You'll need to correct any errors before the service will start correctly.
To update the zone files, go to /var/tilde, and execute:
sudo git pull
sudo cp db.* /etc/bind/
sudo cp named.conf.* /etc/bind/
sudo cp named.conf /etc/named.conf
sudo systemctl reload named
sudo journalctl -xe
All Distros/OSs (Required to be listed on wiki and tildenic.org)
Follow the directions on this page: https://wiki.opennic.org/opennic/srvzone