{"id":30306436,"url":"https://github.com/branchingbad/docker-binddns","last_synced_at":"2025-08-17T09:34:57.688Z","repository":{"id":144899236,"uuid":"124465519","full_name":"BranchingBad/Docker-BindDNS","owner":"BranchingBad","description":"This project provides a Docker container setup for running a Bind9 DNS server. Bind9 is a powerful, flexible, and widely-used DNS server that can act as both an authoritative server and a DNS forwarder. This setup allows you to deploy a fully functional Bind9 DNS server within a Docker environment for easy management and portability.","archived":false,"fork":false,"pushed_at":"2024-10-24T23:35:38.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-05T19:14:52.056Z","etag":null,"topics":["bind9","dns","dns-over-https","dns-server","docker","docker-binddns"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BranchingBad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-09T00:38:13.000Z","updated_at":"2024-10-24T23:36:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f25675e-5437-4ef6-b095-e75b2a64c9b3","html_url":"https://github.com/BranchingBad/Docker-BindDNS","commit_stats":null,"previous_names":["stean202020/docker-binddns","padkaprow/docker-binddns","thecommitstrip/docker-binddns","gitgonewild/docker-binddns","branchingbad/docker-binddns"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BranchingBad/Docker-BindDNS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BranchingBad%2FDocker-BindDNS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BranchingBad%2FDocker-BindDNS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BranchingBad%2FDocker-BindDNS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BranchingBad%2FDocker-BindDNS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BranchingBad","download_url":"https://codeload.github.com/BranchingBad/Docker-BindDNS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BranchingBad%2FDocker-BindDNS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270831654,"owners_count":24653397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bind9","dns","dns-over-https","dns-server","docker","docker-binddns"],"created_at":"2025-08-17T09:34:56.705Z","updated_at":"2025-08-17T09:34:57.678Z","avatar_url":"https://github.com/BranchingBad.png","language":"Dockerfile","readme":"# Docker BindDNS\n\nThis project provides a Docker container setup for running a **Bind9 DNS** server. Bind9 is a powerful, flexible, and widely-used DNS server that can act as both an authoritative server and a DNS forwarder. This setup allows you to deploy a fully functional Bind9 DNS server within a Docker environment for easy management and portability.\n\n## Features\n\n- **Bind9 DNS Server:** A Dockerized Bind9 DNS server with flexible configuration options.\n- **DNS Forwarding and Caching:** Supports DNS forwarding, caching, and recursion.\n- **Custom Zones:** Easily set up and manage custom DNS zones for your network.\n- **Persistent Configuration:** Bind configuration files and data are stored in persistent Docker volumes to ensure your settings are saved across container restarts.\n- **Easy to Use:** Quickly deploy a DNS server using Docker with minimal configuration required.\n\n## Requirements\n\n- [Docker](https://www.docker.com/) installed on your host machine.\n- [Docker Compose](https://docs.docker.com/compose/) (optional, for easier setup).\n\n## Installation\n\n1. Clone this repository to your local machine:\n   ```bash\n   git clone https://github.com/OddRefrigerator/Docker-BindDNS.git\n   cd Docker-BindDNS\n   ```\n\n2. Customize the Bind9 configuration as needed. The Bind9 configuration files are located in the `config/` directory:\n   - `named.conf`: Main Bind9 configuration file.\n   - `named.conf.options`: Options for DNS forwarding, recursion, and general DNS settings.\n   - `named.conf.local`: Define custom zones here.\n\n3. Run the container using Docker Compose (recommended) or Docker CLI.\n\n### Docker Compose (recommended)\n\nIf you have Docker Compose installed, run the following command to start the Bind9 server:\n\n```bash\ndocker-compose up -d\n```\n\nThis will bring up the Bind9 container in the background. The DNS server is now running and accessible.\n\n### Docker CLI\n\nAlternatively, you can run the container directly using the Docker CLI:\n\n```bash\ndocker run -d \\\n  --name bind9-dns \\\n  -v $(pwd)/config:/etc/bind \\\n  -p 53:53/tcp \\\n  -p 53:53/udp \\\n  --restart unless-stopped \\\n  bind9\n```\n\n## Configuration\n\n### DNS Forwarding\n\nBy default, Bind9 is set up to act as a DNS forwarder. You can specify the upstream DNS servers to forward queries to by editing the `named.conf.options` file:\n\n```bash\nforwarders {\n    8.8.8.8;  // Google DNS\n    8.8.4.4;  // Google DNS\n};\n```\n\nYou can replace these IPs with the addresses of your preferred DNS servers.\n\n### Custom Zones\n\nTo define custom DNS zones for your local network or domain, edit the `named.conf.local` file. Here's an example of setting up a zone for the domain `example.com`:\n\n```bash\nzone \"example.com\" {\n    type master;\n    file \"/etc/bind/db.example.com\";\n};\n```\n\nMake sure to create the corresponding zone file in the `config/` directory (e.g., `db.example.com`).\n\n### Persistent Data\n\nThe Bind9 configuration and zone files are mounted from the `config/` directory, allowing you to persist data across container restarts. Any changes made to the files in this directory will be reflected in the running container.\n\n## Usage\n\nOnce the container is up and running, you can start querying the DNS server from other devices on your network. Simply configure your devices to use the Docker host's IP address as their DNS server.\n\nExample DNS query using `dig`:\n\n```bash\ndig @\u003cdocker-host-ip\u003e example.com\n```\n\nReplace `\u003cdocker-host-ip\u003e` with the IP address of the machine running Docker.\n\n## Stopping and Removing the Container\n\nTo stop the container, run:\n\n```bash\ndocker-compose down\n```\n\nOr, if you're using Docker CLI:\n\n```bash\ndocker stop bind9-dns \u0026\u0026 docker rm bind9-dns\n```\n\n## Contributing\n\nContributions are welcome! Feel free to submit a pull request or open an issue if you have any improvements or fixes.\n\n### Steps for Contribution\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix:\n   ```bash\n   git checkout -b feature-name\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m \"Description of your feature or fix\"\n   ```\n4. Push your branch:\n   ```bash\n   git push origin feature-name\n   ```\n5. Open a pull request with a detailed explanation of your changes.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nFor any inquiries or issues, feel free to open an issue on GitHub or contact the repository owner.\n\n---\n\nEnjoy your easy-to-deploy Bind9 DNS server in Docker!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbranchingbad%2Fdocker-binddns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbranchingbad%2Fdocker-binddns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbranchingbad%2Fdocker-binddns/lists"}