website-dns

This image contains powerdns configured via environment variables. You can set up a slave and / or master server using postgres or sqlite.

Using this image

$ docker run -ti homelandsocial/website-dns

Example docker-compose

https://raw.githubusercontent.com/homeland-social/website/master/docker-compose.yml

Environment variables

Note that you should define SQLITE_DB or PGSQL_* not both.

Name Description Default
SQLITE_DB Sqlite database path, should be located on a persistent volume
PGSQL_HOST Postgres server address
PGSQL_DATABASE Postgres database name
PGSQL_USERNAME Postgres username
PGSQL_PASSWORD Postgres password
PGSQL_PASSWORD_FILE Same as previous, for use with docker secrets
PDNS_MASTER Act as master dns server; yes or no no
PDNS_SLAVE Act as slave dns server; yes or no no
PDNS_WEBSERVER Start api server; yes or no no
PDNS_WEBSERVER_HOST Address to bind api server to
PDNS_WEBSERVER_PORT Port to bind api server to 8081
PDNS_WEBSERVER_ACL Hosts to allow api access from, ip address or cidr (should allow certbot)
PDNS_API_KEY API key, should match one configured for certbot
PDNS_API_KEY_FILE Same as previous, for use with docker secrets
PDNS_AXFR_DISABLE Disallow zone transfers; yes or no, should be enabled on slave yes
PDNS_AXFR_ACL Allow zone transfers from given ip address or cidr, should be slave's address
PDNS_LOG_LEVEL Integer value between 1-6, see powerdns docs