From: Peter van Dijk Date: Tue, 3 Nov 2020 13:26:23 +0000 (+0100) Subject: add Docker README X-Git-Tag: dnsdist-1.6.0-alpha0~17^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dbdcab01f2270b187433a2e3a45c5e2e0091de54;p=thirdparty%2Fpdns.git add Docker README --- diff --git a/Docker-README.md b/Docker-README.md new file mode 100644 index 0000000000..d46efb72c4 --- /dev/null +++ b/Docker-README.md @@ -0,0 +1,38 @@ +# Intro + +https://hub.docker.com/u/powerdns offers automatic builds of dnsdist, Auth and Recursor, from the pdns.git master branch. + +The images are based on Debian Buster (slim). + +The Dockerfiles: + +* https://github.com/PowerDNS/pdns/blob/master/Dockerfile-auth +* https://github.com/PowerDNS/pdns/blob/master/Dockerfile-dnsdist +* https://github.com/PowerDNS/pdns/blob/master/Dockerfile-recursor + +Other data involved in the Docker build process can be found at https://github.com/PowerDNS/pdns/tree/master/dockerdata + +# Usage + +The images are ready to run with limited functionality. +At container startup, the startup.py wrapper (from the dockerdata directory linked above) checks for `PDNS_RECURSOR_API_KEY` / `PDNS_AUTH_API_KEY` / `DNSDIST_API_KEY` environment variables for the product you are running. +If such a variable is found, `/etc/powerdns-api.conf` or `/etc/dnsdist-api.conf` is written, enabling the webserver in all products, and the dnsdist console. +For the dnsdist console, make sure that your API key is in a format suitable for the console (use `makeKey()`). + +The default configs shipped in the image (see dockerdata above) parse all files in `/etc/powerdns/pdns.d` / `/etc/powerdns/recursor.d` / `/etc/dnsdist/conf.d`. +The image also ships a symlink to the API config file inside those `.d` dirs. +For Auth and Recursor, extra configuration can be passed or the command line, or via a volume mount into `/etc/powerdns` or the `.d` dir. +For dnsdist, only the volume mount is applicable. + +If you want to volume mount a config, but also take the keys from the environment, please take care to include the same `X-api.conf` symlink in your `.d` directory. + +# Auth and databases + +The default auth config uses SQLite3 in `/var/lib/powerdns/pdns.sqlite3`. +We suggest providing that file via a volume. +For other databases, either pass config overrides on the command line, or mount a config file. + +## LMDB + +When using the LMDB backend with the auth image, please make sure that any containers that might access the database volume do not have overlapping PIDs - otherwise you will get locking problems and possibly resulting corruption. +In a plain Docker or Compose setup, this can be done by using the host PID namespace. diff --git a/README.md b/README.md index 87e1bc29ce..6c400262d9 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,12 @@ https://github.com/PowerDNS/pdns/issues But please check if the issue is already reported there first. +DOCKER +------ + +This README is mirrored from GitHub to dockerhub. +For information about our Docker images, please refer to https://github.com/PowerDNS/pdns/blob/master/Docker-README.md + SOURCE CODE / GIT ----------------- Source code is available on GitHub: