docker-powerdns/rootfs/app/entrypoint.sh
2025-05-06 09:23:17 +02:00

40 lines
687 B
Bash
Executable File

#!/bin/sh
API_KEY=${API_KEY:-}
DB_PATH=/db/pdns.sqlite
if [ -n "${API_KEY}" ]; then
API_KEY="api-key=${API_KEY}"
fi
# api configuration
cat >> /etc/pdns/pdns.conf.d/api.conf << EOF
api=yes
${API_KEY}
EOF
# database setup
cat >> /etc/pdns/pdns.conf.d/sqlite.conf << EOF
gsqlite3-database=${DB_PATH}
EOF
DB_DIR=$(dirname "${DB_PATH}")
mkdir -p "${DB_DIR}"
if [ ! -f "${DB_PATH}" ] ; then
sqlite3 "${DB_PATH}" < /app/db_init.sql
fi
chown -R pdns:pdns "${DB_DIR}"
chmod 700 "${DB_DIR}"
chmod 600 "${DB_PATH}"
# RFC2136 dns updates
cat >> /etc/pdns/pdns.conf.d/RFC2136.conf << EOF
dnsupdate=yes
allow-dnsupdate-from=0.0.0.0/0,::/0
EOF
# start powerdns
/usr/sbin/pdns_server