Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

DigitalOcean DNS Provider

This is a drop-in provider for apnscp to enable DNS support for accounts that use DO. This provider is built into apnscp.


EditDomain -c dns,provider=digitalocean -c dns,key=abcdef1234567890

Where the key is created within DO. See How to Create a Personal Access Token.

Setting as default

DO may be configured as the default provider for all sites using the dns.default-provider Scope. When adding a site in Nexus or AddDomain the key will be replaced with "DEFAULT". This is substituted automatically on account creation.

cpcmd config_set dns.default-provider digitalocean
cpcmd config_set dns.default-provider-key 'abcdef1234567890'

Note that it is not safe to set this value as a server-wide default in untrusted multiuser environments. A user with panel access can retrieve your key common_get_service_value dns key or even using Javascript in the panel, apnscp.cmd('common_get_service_value',['dns','key'], {async: false}).


  • Module- overrides Dns_Module behavior
  • Validator- service validator, checks input with AddDomain/EditDomain helpers

Minimal module methods

All module methods can be overwritten. The following are the bare minimum that are overwritten for this DNS provider to work:

  • atomicUpdate() attempts a record modification, which must retain the original record if it fails
  • zoneAxfr() returns all DNS records
  • add_record() add a DNS record
  • remove_record() removes a DNS record
  • get_hosting_nameservers() returns nameservers for the DNS provider
  • add_zone_backend() creates DNS zone
  • remove_zone_backend() removes a DNS zone

See also: Creating a provider (


Submit a PR and have fun!