Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marten-seemann/wildcard-dns
https://github.com/marten-seemann/wildcard-dns
Last synced: about 19 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/marten-seemann/wildcard-dns
- Owner: marten-seemann
- License: mit
- Created: 2022-03-03T08:16:51.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-03-14T06:34:41.000Z (almost 3 years ago)
- Last Synced: 2024-12-20T00:08:53.880Z (4 days ago)
- Language: Dockerfile
- Size: 13.7 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wildcard-dns
A DNS server that
1. resolves `.domain.tld` (and `.subdomain.domain.tld`) to ``.
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](https://github.com/coredns/coredns) and uses the [MySQL plugin](https://coredns.io/explugins/mysql/) as a storage backend (with [two](https://github.com/cloud66-oss/coredns_mysql/pull/5) [bug](https://github.com/cloud66-oss/coredns_mysql/pull/6) 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:
```sh
docker-compose build
```The docker-compose config uses a few environment variables. It is recommended to define them in a [`.env` file](https://docs.docker.com/compose/environment-variables/#the-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 serverRun:
```sh
docker-compose up
```