Coder Social home page Coder Social logo

origamiofficial / docker-pihole-bind9 Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 2.0 75 KB

Pi-Hole & Bind on the same Docker container [Daily Updates]

Home Page: https://hub.docker.com/r/rlabinc/pihole-bind9

License: MIT License

Dockerfile 2.77% Shell 97.23%
bind bind9 dns dns-server docker docker-image pi-hole pi-hole-client pi-hole-ftl pihole

docker-pihole-bind9's Introduction

pihole-bind

Docker Pulls Docker Image Size (tag) Docker Image Size (tag) Latest Build & Push GitHub Repo stars We Support

pihole-bind9 is a Docker container to run Pi-Hole & Bind on the same container.

Supported Architectures

We utilise the docker buildx for multi-platform awareness. More information is available from docker here.

Simply pulling rlabinc/pihole-bind9:latest should retrieve the correct image for your arch, but you can also pull specific arch images via --platform.

The architectures supported by this image are:

Architecture Available Platform
x86-64 linux/amd64
arm64 linux/arm64
armhf linux/arm/v7
armv6 linux/arm/v6
i386 linux/386

Usage

Here are the commands you'll need:

docker run -d --name pihole-bind9 \
  --name=pihole-bind \
  -e TZ=Europe/London `#optional` \
  -p 53:53/tcp -p 53:53/udp \
  -p 80:80/tcp `#Pi-hole web interface port` \
  -e WEBPASSWORD='qwerty123' `#better to use single quotes` \
  -e DNSSEC_VALIDATE=auto \
  --restart=always \
  rlabinc/pihole-bind9:latest

Docker Tags

The Docker tags supported by this image are:

Tag Type
latest Stable
date Stable
dev Beta

Note: Date tag images aren't the same as the official ones, they're based on the build date.

Installing on Ubuntu

Modern releases of Ubuntu (17.10+) include systemd-resolved which is configured by default to implement a caching DNS stub resolver. This will prevent pi-hole from listening on port 53. The stub resolver should be disabled with: sudo sed -r -i.orig 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf

This will not change the nameserver settings, which point to the stub resolver thus preventing DNS resolution. Change the /etc/resolv.conf symlink to point to /run/systemd/resolve/resolv.conf, which is automatically updated to follow the system's netplan: sudo sh -c 'rm /etc/resolv.conf && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf' After making these changes, you should restart systemd-resolved using systemctl restart systemd-resolved

Once pi-hole is installed, you'll want to configure your clients to use it (see here). If you used the symlink above, your docker host will either use whatever is served by DHCP, or whatever static setting you've configured. If you want to explicitly set your docker host's nameservers you can edit the netplan(s) found at /etc/netplan, then run sudo netplan apply. Example netplan:

network:
    ethernets:
        ens160:
            dhcp4: true
            dhcp4-overrides:
                use-dns: false
            nameservers:
                addresses: [127.0.0.1]
    version: 2

Note that it is also possible to disable systemd-resolved entirely. However, this can cause problems with name resolution in vpns (see bug report). It also disables the functionality of netplan since systemd-resolved is used as the default renderer (see man netplan). If you choose to disable the service, you will need to manually set the nameservers, for example by creating a new /etc/resolv.conf.

Users of older Ubuntu releases (circa 17.04) will need to disable dnsmasq.

Parameters

Container images are configured using parameters passed at runtime (such as those above).

Parameter Function
-e TZ=Europe/London Specify a timezone to use EG Europe/London.
-p 53:53/tcp -p 53:53/udp Default DNS port to use.
-p 80:80/tcp Specify Pi-hole web interface port.
-e WEBPASSWORD='qwerty123' Specify Pi-hole web interface password. It is better to use single quotes.
-e DNSSEC_VALIDATE=auto This variable defines the DNSSEC validation in Bind.
--restart=always To make sure "It's Always DNS" does not happen.

This Docker container supports both Pi-hole official Docker container all environment variables available here & cytopia's docker-bind Docker container all environment variables available here.

Pihole Github Repository

https://github.com/pi-hole/docker-pi-hole

Bind Github Repository

https://gitlab.isc.org/isc-projects/bind9

Pi-hole Bind Github Repository

https://github.com/origamiofficial/docker-pihole-bind9

Acknowledgements

The code in this image is heavily influenced by cytopia's docker-bind server Docker image configs, However, the upstream projects most certainly also deserve credit for making this all possible.

Warning

I'm not responsible if your internet goes down using this Docker container. Use at your own risk.

Hits

docker-pihole-bind9's People

Stargazers

 avatar  avatar  avatar

Forkers

sam-37 rlabinc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.