commit
e9217b8389
@ -0,0 +1,18 @@
|
|||||||
|
FROM python:3-alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache unbound curl bind-tools \
|
||||||
|
&& pip3 install jinja2 \
|
||||||
|
&& curl -o /etc/unbound/root.hints https://www.internic.net/domain/named.cache \
|
||||||
|
&& chown root:unbound /etc/unbound \
|
||||||
|
&& chmod 775 /etc/unbound \
|
||||||
|
&& apk del --no-cache curl \
|
||||||
|
&& /usr/sbin/unbound-anchor -a /etc/unbound/trusted-key.key | true
|
||||||
|
|
||||||
|
COPY start.py /start.py
|
||||||
|
COPY unbound.conf /unbound.conf
|
||||||
|
|
||||||
|
EXPOSE 53/udp 53/tcp
|
||||||
|
|
||||||
|
CMD /start.py
|
||||||
|
|
||||||
|
HEALTHCHECK CMD dig @127.0.0.1 || exit 1
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/local/bin/python3
|
||||||
|
|
||||||
|
import jinja2
|
||||||
|
import os
|
||||||
|
|
||||||
|
convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ))
|
||||||
|
convert("/unbound.conf", "/etc/unbound/unbound.conf")
|
||||||
|
|
||||||
|
os.execv("/usr/sbin/unbound", ["-c /etc/unbound/unbound.conf"])
|
@ -0,0 +1,19 @@
|
|||||||
|
server:
|
||||||
|
verbosity: 1
|
||||||
|
interface: 0.0.0.0
|
||||||
|
interface: ::0
|
||||||
|
logfile: /dev/stdout
|
||||||
|
do-ip4: yes
|
||||||
|
do-ip6: yes
|
||||||
|
do-udp: yes
|
||||||
|
do-tcp: yes
|
||||||
|
do-daemonize: no
|
||||||
|
access-control: {{ SUBNET }} allow
|
||||||
|
directory: "/etc/unbound"
|
||||||
|
username: root
|
||||||
|
auto-trust-anchor-file: trusted-key.key
|
||||||
|
root-hints: "/etc/unbound/root.hints"
|
||||||
|
hide-identity: yes
|
||||||
|
hide-version: yes
|
||||||
|
max-udp-size: 4096
|
||||||
|
msg-buffer-size: 65552
|
Loading…
Reference in New Issue