marten-seemann / wildcard-dns

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wildcard-dns

A DNS server that

  1. resolves <ip-multiaddr>.domain.tld (and <ip-multiaddr>.subdomain.domain.tld) to <ip>.
  2. 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.

Buiding and Running

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 resolving
  • NAMESERVER_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

About

License:MIT License


Languages

Language:Dockerfile 78.2%Language:Shell 21.8%