Skip to content
Snippets Groups Projects
Nigel Kukard's avatar
Nigel Kukard authored
chore: updated to version 4.9.4

See merge request !85
291311de
History

pipeline status

Container Information

Container Source - GitHub Mirror

This is the Conarx Containers PowerDNS image, it provides the PowerDNS authorative DNS server with support for both MySQL and PostgreSQL backends.

Features:

  • Bind-formatted zone files
  • MySQL backend support
  • PostgreSQL backend support
  • Lua support

Dynamic modules built:

  • bind
  • geoip
  • gmysql
  • godbc
  • gpgsql
  • gsqlite3
  • ldap
  • lmdb
  • lua2
  • pipe
  • remote

Mirrors

Provider Repository
DockerHub allworldit/powerdns
Conarx registry.conarx.tech/containers/powerdns

Conarx Containers

All our Docker images are part of our Conarx Containers product line. Images are generally based on Alpine Linux and track the Alpine Linux major and minor version in the format of vXX.YY.

Images built from source track both the Alpine Linux major and minor versions in addition to the main software component being built in the format of vXX.YY-AA.BB, where AA.BB is the main software component version.

Our images are built using our Flexible Docker Containers framework which includes the below features...

  • Flexible container initialization and startup
  • Integrated unit testing
  • Advanced multi-service health checks
  • Native IPv6 support for all containers
  • Debugging options

Community Support

Please use the project Issue Tracker.

Commercial Support

Commercial support for all our Docker images is available from Conarx.

We also provide consulting services to create and maintain Docker images to meet your exact needs.

Environment Variables

Additional environment variables are available from...

POWERDNS_SERVER_ID

Required. Set the PowerDNS server ID that is returned on a EDNS NSID query.

POWERDNS_WEBSERVER_ALLOW_FROM

Enable and allow access to the webui.

Examples of configuration: 192.168.0.0/24,fec0::/64

This option will enable the PowerDNS webserver and enable PowerDNS to listen on port 8081.

POWERDNS_WEBSERVER_PASSWORD

If the password is not set, it is automatically generated and output to logs.

This is used as the username and password to satisfy the authentication request.

POWERDNS_API_KEY

If the API key is not set, it is automatically generated and output to logs.

This option relies on the POWERDNS_WEBSERVER_ALLOW_FROM environment variable being set to enable the webserver which provides the API.

POWERDNS_DEFAULT_SOA_CONTENT

This should always be set, the PowerDNS Admin default is a.misconfigured.dns.server.invalid hostmaster.@ 0 10800 3600 604800 3600.

When setting this value the first field should be the administrators email address with the @ replaced with a ..

POWERDNS_EXPAND_ALIAS

Enable expanding of aliases, this option must be set to a DNS resolver to use to do this. eg. '172.16.0.1'

POWERDNS_HEALTHECK_QUERY

Query to use to check that PowerDNS is responsivle. Defaults to id.server CHAOS TXT.

One could use something like this to check a specific domain example.com A.

PostgreSQL Backend Environment Variables

POSTGRES_HOST

Database server hostname.

POSTGRES_DATABASE

Database to connect to.

POSTGRES_USER

Username to use to connect with.

POSTGRES_USER_PASSWORD

User password to use when connecting to the database.

MySQL Backend Environment Variables

MYSQL_HOST

MySQL server hostname.

MYSQL_DATABASE

Database to connect to.

MYSQL_USER

Username to use to connect with.

MYSQL_PASSWORD

User password to use when connecting to the database.

Remote Backend Environment Variables

POWERDNS_REMOTE_CONNECTION_STRING

Set up a remote backend connection. See https://doc.powerdns.com/authoritative/backends/remote.html for more information.

Configuration

/etc/pdns/conf.d

The PowerDNS configuration directory supports configuration files that are bind mounted in from the host system.

/etc/powerdns/conf.d/10-server-id.conf

PowerDNS server ID configuration file.

/etc/powerdns/conf.d/40-defaults.conf

PowerDNS server defaults configuration file.

/etc/powerdns/conf.d/42-soa-default.conf

PowerDNS server configuration for SOA defaults.

/etc/powerdns/conf.d/50-backend.conf

PowerDNS server backend configuration file.

/etc/powerdns/conf.d/52-webserver.conf

PowerDNS server configuration file for webserver and API.

/etc/powerdns/conf.d/60-lua-records.conf

PowerDNS server configuration for LUA records.

Exposed Ports

PowerDNS ports 53 (UDP/TCP) and webserver port 8081 are exposed.

Configuration Examples

Various reference examples are included...