PDNS Manager

Zone templates

If you create zones for many customers, subdomains or reverse ranges, you end up writing the same NS, SOA, MX and SPF records every time. Templates fix that: define once, pick from a dropdown when creating, done.

Where it lives

Settings → Zone templates, admin-only. Per template:

  • Name – display name, e.g. "Standard web hosting".
  • Description – what the template is for (shown in the dropdown later).
  • Records – a list, exactly like in a real zone.

Example: Standard web hosting

{
  "name": "Standard web hosting",
  "description": "NS, SOA, A for @ and www, plus SPF",
  "records": [
    { "name": "@",      "type": "NS",  "ttl": 3600, "content": "ns1.example.com." },
    { "name": "@",      "type": "NS",  "ttl": 3600, "content": "ns2.example.com." },
    { "name": "@",      "type": "A",   "ttl": 300,  "content": "203.0.113.10" },
    { "name": "www",    "type": "A",   "ttl": 300,  "content": "203.0.113.10" },
    { "name": "@",      "type": "MX",  "ttl": 3600, "content": "10 mail.example.com." },
    { "name": "@",      "type": "TXT", "ttl": 3600, "content": "\"v=spf1 mx -all\"" }
  ]
}

How it behaves on zone create

When creating a new zone there's a template dropdown. Pick one → records from the template are created together with the zone. You can fine-tune them right after in zone detail.

Common templates

  • Standard web hosting – NS, default SOA, A for apex and www, SPF.
  • Mailserver domain – NS, MX, SPF, DKIM selector, DMARC, MTA-STS, TLSRPT.
  • Reverse zone – NS, default SOA, no A/MX – PTRs by hand later.
  • Internal/Split DNS – just NS plus a few wildcard As.

Where templates live

Templates are stored in the DB table zone_templates (column records as JSON). They're not server-specific – defined once, available for any new zone on any server.

No image has been added yet. Drop it into src/assets/screenshots/<filename> and register it in the gallery list.