40 lines
687 B
Bash
Executable File
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
|