powerdns-tools/install.sh

41 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
#
# powerdns-tools
# https://git.stack-source.com/msb/powerdns-tools
# Copyright (c) 2022 Matthew Saunders Brown <matthewsaundersbrown@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
if [[ ! -x /opt/certbot/bin/pip ]]; then
echo "NOTICE: This package requires certbot pip install in /opt/certbot"
echo "Package letsencrypt-tools will provide this and should be installed first."
echo "https://git.stack-source.com/msb/letsencrypt-tools"
exit 1
fi
# pyyaml==5.3.1 currently needed by certbot-dns-powerdns
/opt/certbot/bin/pip install certbot-dns-powerdns pyyaml==5.3.1
# Install dasel from binary. Used to convert json data to csv
wget --quiet --output-document=/usr/local/bin/dasel https://github.com/TomWright/dasel/releases/download/v2.7.0/dasel_linux_amd64
chmod 755 /usr/local/bin/dasel
# one liner to automatically get latest version. could also be used to update existing install
# curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o /usr/local/bin/dasel && chmod +x /usr/local/bin/dasel
chmod 755 sbin/*
cp sbin/* /usr/local/sbin/
echo
if [[ ! -f /usr/local/etc/pdns.conf ]]; then
cp etc/pdns.conf /usr/local/etc/pdns.conf
chmod 640 /usr/local/etc/pdns.conf
echo "Update /usr/local/etc/pdns.conf with your settings."
fi
if [[ ! -f /usr/local/etc/pdns-certbot-credentials.ini ]]; then
echo "dns_powerdns_api_url =" > /usr/local/etc/pdns-certbot-credentials.ini
echo "dns_powerdns_api_key =" >> /usr/local/etc/pdns-certbot-credentials.ini
chmod 640 /usr/local/etc/pdns-certbot-credentials.ini
echo "Update /usr/local/etc/pdns-certbot-credentials.ini with your settings (this is to be used with certbot-dns-powerdns)."
fi