Skip to content

Multiarch BIND DNS with Webmin Docker image for DNS administration

License

Notifications You must be signed in to change notification settings

evanrich/docker-bind

 
 

Repository files navigation

This is a fork of eafxx's bind image. It hadn't been updated in quite some time, and the ubuntu release it was based on (19.10) has EOL'd. This is an updated image, rebased to Ubuntu 20.04.2, the latest bind and the latest version of webmin (1.970). Contributions welcomed, I will try to keep this updated as necessary. Original release notes below:

A fork of sameersbn/bind repo, what's different?

  • Multiarch Support:
    • amd64
    • armv7, arm64 i.e. supports RPi 3/4
  • Running on Ubuntu 19
  • Bind: 9.11.5
  • Webmin: 1.941+ (which mitigates vulnerability)
  • Added Timezone (TZ) support
  • Image auto-builds on schedule (every Sat 12:00)
  • Ubuntu updates will be applied during each scheduled build
  • Reverse Proxy friendly (utkuozdemir/docker-bind)
  • Fixes to utkuozdemir/docker-bind's 'Reverse Proxy friendly' update.
    • Cleanup of config & miniserv.conf when variables are used & then removed
    • Removing duplicate entries to config & miniserv.conf

Contents

Introduction

Docker container image for BIND DNS server bundled with the Webmin interface.

BIND is open source software that implements the Domain Name System (DNS) protocols for the Internet. It is a reference implementation of those protocols, but it is also production-grade software, suitable for use in high-volume and high-reliability applications.

Getting started

Tags

Tag Description Build Status
latest master/stable Docker Build Master
dev development, pre-release Docker Build Dev
exp unstable, experimental Docker Build Exp

Installation

Automated builds of the image are available on Dockerhub and is the recommended method of installation.

docker pull eafxx/bind

OR

Alternatively you can build the image yourself.

docker build -t eafxx/bind github.com/eafxx/docker-bind

Quickstart

Docker Run:

docker run --name bind -d --restart=always \
  -p 53:53/tcp -p 53:53/udp -p 10000:10000/tcp \
  -v /path/to/bind/data:/data \
  eafxx/bind

OR

Docker Compose

    bind:
        container_name: bind
        hostname: bind
        network_mode: bridge
        image: eafxx/bind
        restart: unless-stopped
        ports:
            - "53:53/tcp"
            - "53:53/udp"
            - 10000:10000/tcp
        volumes:
            - /path/to/bind/data:/data
        environment:
            - WEBMIN_ENABLED=true
            - WEBMIN_INIT_SSL_ENABLED=false
            - WEBMIN_INIT_REFERERS=dns.domain.com
            - WEBMIN_INIT_REDIRECT_PORT=10000
            - ROOT_PASSWORD=password
            - TZ=Europe/London

When the container is started the Webmin service is also started and is accessible from the web browser at https://serverIP:10000. Login to Webmin with the username root and password password. Specify --env ROOT_PASSWORD=secretpassword on the docker run command to set a password of your choosing. The launch of Webmin can be disabled if not required.

- Parameters

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

Parameter Function
-p 53:53/tcp -p 53:53/udp DNS TCP/UDP port
-p 10000/tcp Webmin port
-e WEBMIN_ENABLED=true Enable/Disable Webmin (true/false)
-e ROOT_PASSWORD=password Set a password for Webmin root. Parameter has no effect when the launch of Webmin is disabled.
-e WEBMIN_INIT_SSL_ENABLED=false Enable/Disable Webmin SSL (true/false). If Webmin should be served via SSL or not. Defaults to true.
-e WEBMIN_INIT_REFERERS Enable/Disable Webmin SSL (true/false). Sets the allowed referrers to Webmin. Set this to your domain name of the reverse proxy. Example: mywebmin.example.com. Defaults to empty (no referrer)
-e WEBMIN_INIT_REDIRECT_PORT The port Webmin is served from. Set this to your reverse proxy port, such as 443. Defaults to 10000.
-e BIND_EXTRA_FLAGS Default set to -g
-v /data Mount data directory for persistent config
-e TZ=Europe/London Specify a timezone to use e.g. Europe/London

About

Multiarch BIND DNS with Webmin Docker image for DNS administration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 75.7%
  • Dockerfile 24.3%