From f5f186e373a6c5c6d31ea4a4a5f149d4da66e592 Mon Sep 17 00:00:00 2001 From: David Prandzioch Date: Wed, 11 Apr 2018 19:06:59 +0200 Subject: [PATCH 1/4] Fix file permissons on startup (#12) When using an external volume to persist /var/cache/bind it can happen that permissions are not like expected by bind. Therefore file permissions and ownership information need to be set correctly before bind starts. --- CHANGELOG.md | 3 +++ setup.sh | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8b70bc..ddd18bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +[1.2.1] +* Fix permissions of /var/cache/bind on container startup + [1.2.0] * Allow usage of multiple domains diff --git a/setup.sh b/setup.sh index c373bc7..c6aa4c6 100755 --- a/setup.sh +++ b/setup.sh @@ -34,6 +34,12 @@ $ZONE IN SOA localhost. root.localhost. ( EOF fi +# If /var/cache/bind is a volume, permissions are probably not ok +chown root:bind /var/cache/bind +chown bind:bind /var/cache/bind/* +chmod 770 /var/cache/bind +chmod 644 /var/cache/bind/* + if [ ! -f /etc/dyndns.json ] then echo "creating REST api config..." From 2908b8834331db5938d4b8f0e59a391dd3af77c3 Mon Sep 17 00:00:00 2001 From: David Prandzioch Date: Wed, 11 Apr 2018 20:24:47 +0200 Subject: [PATCH 2/4] Separate named.conf generation (#12) --- setup.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/setup.sh b/setup.sh index c6aa4c6..2377c44 100755 --- a/setup.sh +++ b/setup.sh @@ -4,7 +4,7 @@ [ -z "$ZONE" ] && echo "ZONE not set" && exit 1; [ -z "$RECORD_TTL" ] && echo "RECORD_TTL not set" && exit 1; -if [ ! -f /var/cache/bind/$ZONE.zone ] +if ! grep 'zone "'$ZONE'"' /etc/bind/named.conf > /dev/null then echo "creating zone..."; cat >> /etc/bind/named.conf < /var/cache/bind/$ZONE.zone < Date: Wed, 11 Apr 2018 20:25:36 +0200 Subject: [PATCH 3/4] Add docker-compose.yml for testing --- docker-compose.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8c8818a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' +services: + ddns: + build: . + restart: always + environment: + RECORD_TTL: 60 + ZONE: example.org + SHARED_SECRET: changeme + ports: + - "53:53" + - "53:53/udp" + - "8080:8080" +# volumes: +# - ./bind-data:/var/cache/bind From b523272a50f3fad17b28b070892db7d9a78245a2 Mon Sep 17 00:00:00 2001 From: David Prandzioch Date: Wed, 11 Apr 2018 20:41:31 +0200 Subject: [PATCH 4/4] Add images to docker-compose, changelog --- CHANGELOG.md | 1 + docker-compose.yml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd18bc..0d70768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ [1.2.1] * Fix permissions of /var/cache/bind on container startup +* Create zone options if not done, fixing support for persistent volumes [1.2.0] * Allow usage of multiple domains diff --git a/docker-compose.yml b/docker-compose.yml index 8c8818a..7b27c37 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,9 @@ version: '3' services: ddns: - build: . + image: davd/docker-ddns:latest + #image: davd/docker-ddns:develop + #build: . restart: always environment: RECORD_TTL: 60