From 34e61c6283e28a4bcfc8f7536d1914790232a12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4rthlein?= Date: Sun, 29 Mar 2020 14:15:34 +0200 Subject: [PATCH] add readme --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++- img/addhost.png | Bin 0 -> 46350 bytes 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 img/addhost.png diff --git a/README.md b/README.md index 7276c32..8e56d62 100644 --- a/README.md +++ b/README.md @@ -1 +1,91 @@ -# docker-ddns-server \ No newline at end of file +# Dynamic DNS Server for Docker with Web UI written in Go + +![Travis build status](https://travis-ci.com/benjaminbear/docker-ddns-server.svg?branch=master) +![Docker build status](https://img.shields.io/docker/cloud/build/bbaerthlein/docker-ddns-server) +![Docker build automated](https://img.shields.io/docker/cloud/automated/bbaerthlein/docker-ddns-server) + +![Go version](https://img.shields.io/github/go-mod/go-version/benjaminbear/docker-ddns-server?filename=dyndns%2Fgo.mod) +![License](https://img.shields.io/github/license/benjaminbear/docker-ddns-server) + +With docker-ddns-server you can setup your own dynamic DNS server. This project is inspired by https://github.com/dprandzioch/docker-ddns . In addition to the original version, you can setup and maintain your dyndns entries via simple web ui. + + +![docker-ddns-server web ui](https://raw.githubusercontent.com/benjaminbear/docker-ddns-server/master/img/addhost.png) + +## Installation + +You can either take the docker image or build it on your own. + +### Using the docker image + +Just customize this to your needs and run: + +``` +docker run -it -d \ + -p 8080:8080 \ + -p 53:53 \ + -p 53:53/udp \ + -v /somefolder:/var/cache/bind \ + -v /someotherfolder:/root/dyndns/database \ + -e DDNS_ADMIN_LOGIN=admin:123455546. \ + -e DDNS_DOMAIN=dyndns.example.com \ + -e DDNS_PARENT_NS=ns.example.com \ + -e DDNS_DEFAULT_TTL=3600 \ + --name=dyndns \ + bbaerthlein/docker-ddns-server:latest +``` + +### Using docker-compose + +You can also use Docker Compose to set up this project. For an example `docker-compose.yml`, please refer to this file: https://github.com/benjaminbear/docker-ddns-server/blob/master/deployment/docker-compose.yml + +### Configuration + +`DDNS_ADMIN_LOGIN` is a htpasswd username password combination used for the web ui. You can create one by using htpasswd: +``` +htpasswd -nb user password +``` +If you want to embed this into a docker-compose.yml you have to double the dollar signs for escaping: +``` +echo $(htpasswd -nb user password) | sed -e s/\\$/\\$\\$/g +``` + +`DDNS_DOMAIN` is the domain of the webservice and the domain zone of your dyndns server (see DNS Setup) i.e. `dyndns.example.com` + +`DDNS_PARENT_NS` is the parent name server of your domain i.e. `ns.example.com` + +`DDNS_DEFAULT_TTL` is the default TTL of your dyndns server. + +### DNS setup + +If your parent domain is `example.com` and you want your dyndns domain to be `dyndns.example.com`, +an example domain of your dyndns server would be `blog.dyndns.example.com`. + +You have to add these entries to your parent dns server: +``` +dyndns IN NS ns +ns IN A +ns IN AAAA +``` + +## Updating entry + +After you have added a host via the web ui you can setup your router. +Example update URL: + +``` +http://dyndns.example.com:8080/update?hostname=blog.dyndns.example.com&myip=1.2.3.4 +or +http://username:password@dyndns.example.com:8080/update?hostname=blog.dyndns.example.com&myip=1.2.3.4 +``` + +this updates the host `blog.dyndns.example.com` with the IP 1.2.3.4. You have to setup basic authentication with the username and password from the web ui. + +If your router doensn't support sending the ip address (OpenWRT) you don't have to set myip field: + +``` +http://dyndns.example.com:8080/update?hostname=blog.dyndns.example.com +or +http://username:password@dyndns.example.com:8080/update?hostname=blog.dyndns.example.com +``` + diff --git a/img/addhost.png b/img/addhost.png new file mode 100644 index 0000000000000000000000000000000000000000..588ed85351331dd084cc072d48edd473a9e2f7b1 GIT binary patch literal 46350 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