Containerized BIND DNS Server - Deploy in Minutes
A modern, containerized BIND DNS solution with automated management and reverse DNS generation. Perfect for homelabs, small businesses, and enterprise environments.
git clone https://github.com/randyoyarzabal/bindcaptain.git
cd bindcaptain
# Auto-install Podman and dependencies (RHEL/CentOS/Rocky/AlmaLinux/Fedora)
sudo ./tools/system-setup.sh
# For Ubuntu/Debian/Arch: Install Podman manually first
# Ubuntu: sudo apt install podman podman-compose buildah skopeo
# Arch: sudo pacman -S podman podman-compose buildah skopeo# Interactive wizard (recommended)
sudo ./tools/config-setup.sh wizard
# Or manual: Copy your zone files to config/yourdomain.com/# Build and run
sudo ./bindcaptain.sh build
sudo ./bindcaptain.sh run
# Test DNS resolution
dig @localhost yourdomain.comThat's it! Your DNS server is running. See Complete Documentation for advanced features.
- Podman (container runtime)
- Git (for cloning)
- Port 53 available
- Root privileges
Supported OS: RHEL 8+, CentOS 8+, Rocky Linux 8+, AlmaLinux 8+, Fedora 30+, Ubuntu, Debian, Arch Linux
BINDCAPTAIN_CONFIG_PATH- Path to your DNS configuration directory (default:./config)TZ- Timezone setting (default:UTC)
# Use custom configuration directory
BINDCAPTAIN_CONFIG_PATH=/path/to/my/dns-config sudo ./bindcaptain.sh runNeed detailed setup instructions? See System Requirements and Manual Setup Guide for comprehensive installation steps.
# Install as systemd service (one-time)
sudo ./bindcaptain.sh install
sudo ./bindcaptain.sh enable
# Service management
sudo ./bindcaptain.sh start|stop|restart|service-statusDetailed service setup? See Systemd Service Guide for complete service management instructions.
# Source the manager
sudo bash -c "source /opt/bindcaptain/tools/bindcaptain_manager.sh"
# Add records
bind.create_record webserver yourdomain.com 192.168.1.100
bind.create_cname www yourdomain.com webserver
bind.create_txt @ yourdomain.com "v=spf1 -all"
# List records
bind.list_records yourdomain.comAdvanced DNS operations? See DNS Operations Guide for comprehensive record management and zone configuration.
# Container Management
sudo ./bindcaptain.sh build|run|stop|restart|logs|status
# Service Management
sudo ./bindcaptain.sh install|uninstall|enable|disable|start|stop-service
# DNS Management
bind.create_record|create_cname|create_txt|delete_record|list_recordsComplete command reference? See Cheat Sheet for all available commands and examples.
- Deploy in Minutes - 3-step setup process
- Containerized - Clean, isolated BIND installation
- Smart Management - CLI tools for DNS record management
- Secure - Modern BIND 9.16+ with security best practices
- Auto-Reverse DNS - Automatic reverse DNS generation
- Auto-Updates - Built-in git refresh functionality
- Production-Ready - Used in real production environments
- Complete Guide - Full documentation index
- Installation - Detailed setup instructions
- DNS Operations - Managing DNS records
- Troubleshooting - Common issues and solutions
- Cheat Sheet - Quick command reference
Issues and pull requests welcome! See our GitHub repository.
MIT License - see LICENSE for details.
BindCaptain - Navigate your DNS with confidence