A DNS server that
- resolves
<ip-multiaddr>.domain.tld
(and<ip-multiaddr>.subdomain.domain.tld
) to<ip>
. - allows the programmatic setting of DNS records, especially (but not limited to) TXT records used in ACME challenges.
The project builds on top of CoreDNS and uses the MySQL plugin as a storage backend (with two bug fixes).
Records can be added / modified by adding / updating entries in the database. For security reasons, this is only posible from localhost by default, but this could easily be changed by exposing the MySQL port from the mysql
Docker container.
Build:
docker-compose build
The docker-compose config uses a few environment variables. It is recommended to define them in a .env
file:
DOMAIN
: the top-level domain we're resolvingNAMESERVER_IP
: the IP address of the nameserver (i.e. the public IP this server is listening on)MYSQL_ROOT_PASSWORD
: a password for the MySQL server
Run:
docker-compose up