- Updated Unbound to version `1.16.2`
- Added local healthcheck record and new healthcheck scriptpull/1/head
parent
7dcb50370f
commit
b9902b8c94
11
Dockerfile
11
Dockerfile
|
@ -1,9 +1,9 @@
|
||||||
FROM alpine:3.15.5
|
FROM alpine:3.15.5
|
||||||
|
|
||||||
ARG UNBOUND_VERSION=1.16.1
|
ARG UNBOUND_VERSION=1.16.2
|
||||||
|
|
||||||
# Install dependencies and build unbound (and install bind-tools for dig in healthcheck), clean up after
|
# Install dependencies and build unbound, clean up after
|
||||||
RUN apk --update add --no-cache alpine-sdk bind-tools dns-root-hints expat-dev git openssl-dev && \
|
RUN apk --update add --no-cache alpine-sdk dns-root-hints expat-dev git openssl-dev && \
|
||||||
# Clone tag and build unbound source (https://github.com/NLnetLabs/unbound)
|
# Clone tag and build unbound source (https://github.com/NLnetLabs/unbound)
|
||||||
git clone --depth 1 --branch "release-${UNBOUND_VERSION}" https://github.com/NLnetLabs/unbound.git /tmp/unbound && \
|
git clone --depth 1 --branch "release-${UNBOUND_VERSION}" https://github.com/NLnetLabs/unbound.git /tmp/unbound && \
|
||||||
cd /tmp/unbound && \
|
cd /tmp/unbound && \
|
||||||
|
@ -17,10 +17,13 @@ RUN apk --update add --no-cache alpine-sdk bind-tools dns-root-hints expat-dev g
|
||||||
|
|
||||||
# Prepare image
|
# Prepare image
|
||||||
COPY entrypoint.sh /
|
COPY entrypoint.sh /
|
||||||
|
COPY healthcheck.sh /srv/
|
||||||
|
|
||||||
|
## Prepare unbound
|
||||||
RUN addgroup -S unbound
|
RUN addgroup -S unbound
|
||||||
RUN adduser -S -G unbound unbound
|
RUN adduser -S -G unbound unbound
|
||||||
RUN mkdir -p /srv/unbound/conf
|
RUN mkdir -p /srv/unbound/conf
|
||||||
COPY unbound.conf /srv/unbound/unbound.conf
|
COPY unbound.conf /srv/unbound/unbound.conf
|
||||||
|
|
||||||
HEALTHCHECK --interval=60s --timeout=3s --retries=2 CMD dig ns1.gkcld.net @127.0.0.1 +dnssec || exit 1
|
HEALTHCHECK --interval=30s --timeout=2s --retries=1 CMD sh /srv/healthcheck.sh
|
||||||
ENTRYPOINT ["sh", "/entrypoint.sh"]
|
ENTRYPOINT ["sh", "/entrypoint.sh"]
|
||||||
|
|
|
@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.16.2]
|
||||||
|
- Updated Unbound to version `1.16.2`
|
||||||
|
- Added local healthcheck record and new healthcheck script
|
||||||
|
|
||||||
## [1.16.1]
|
## [1.16.1]
|
||||||
- Updated Unbound to version `1.16.1`
|
- Updated Unbound to version `1.16.1`
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
echo 'Starting unbound...'
|
echo 'Starting unbound...'
|
||||||
unbound -V
|
unbound -V
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
HEALTHCHECK_RECORD=healthcheck-record.gkcld
|
||||||
|
EXPECTED_VALUE=10.10.10.10
|
||||||
|
|
||||||
|
RESOLVED_IP=$(nslookup "${HEALTHCHECK_RECORD}" 127.0.0.1 | awk -F':' '/^Address: / { matched = 1 } matched { print $2}' | xargs)
|
||||||
|
if [ "${RESOLVED_IP}" != "${EXPECTED_VALUE}" ]; then
|
||||||
|
echo "[ERR] ${HEALTHCHECK_RECORD} lookup failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[OK] ${HEALTHCHECK_RECORD} == ${RESOLVED_IP}"
|
|
@ -51,3 +51,6 @@ server:
|
||||||
|
|
||||||
# Allow from adguard subnet (see docker-compose adguard network)
|
# Allow from adguard subnet (see docker-compose adguard network)
|
||||||
access-control: 0.0.0.0/0 allow
|
access-control: 0.0.0.0/0 allow
|
||||||
|
|
||||||
|
# Local A record used for container healthcheck
|
||||||
|
local-data: "healthcheck-record.gkcld. A 10.10.10.10"
|
Loading…
Reference in New Issue