Containerized BIND DNS Server with Smart Management
Welcome to BindCaptain - Take command of your DNS infrastructure with captain-grade precision.
New to BindCaptain? Start here:
# 1. Clone BindCaptain
git clone https://github.com/yourusername/bindcaptain.git
cd bindcaptain
# 2. System setup (one-time)
sudo ./tools/system-setup.sh
# 3. Configure DNS zones
sudo ./tools/config-setup.sh wizard
# 4. Build and run container
sudo ./bindcaptain.sh build
sudo ./bindcaptain.sh run
# 5. Manage DNS records
source ./tools/bindcaptain_manager.sh
bind.create_record webserver example.com 192.168.1.100
# 1. Install prerequisites manually
# See manual-setup.md for your distribution
# 2. Configure DNS zones
sudo ./tools/config-setup.sh wizard
# 3. Build and run container
sudo ./bindcaptain.sh build
sudo ./bindcaptain.sh run
# Load management functions
source ./tools/bindcaptain_manager.sh
# Create DNS records
bind.create_record webserver example.com 192.168.1.100
bind.create_record mail example.com 192.168.1.101
bind.create_cname www example.com webserver.example.com
# List and manage records
bind.list_records example.com
bind.delete_record webserver example.com
# Refresh DNS
./tools/bindcaptain_manager.sh refresh
| Distribution | Support | Setup Method |
|---|---|---|
| RHEL 8/9 | ✅ Full | system-setup.sh |
| CentOS 8/9 | ✅ Full | system-setup.sh |
| Rocky Linux 8/9 | ✅ Full | system-setup.sh |
| AlmaLinux 8/9 | ✅ Full | system-setup.sh |
| Fedora 35+ | ✅ Full | system-setup.sh |
| Ubuntu/Debian | ⚠️ Manual | See Manual Setup |
| Arch Linux | ⚠️ Manual | See Manual Setup |
| Others | ⚠️ Manual | See Manual Setup |
bindcaptain/
├── bindcaptain.sh # Main container management script
├── tools/ # Management and setup tools
│ ├── common.sh # Shared utilities library
│ ├── system-setup.sh # System preparation (supported distros)
│ ├── config-setup.sh # DNS configuration management
│ └── bindcaptain_manager.sh # Interactive DNS management
├── config-examples/ # Configuration templates
├── docs/ # Comprehensive documentation
└── tests/ # Test suite
# Container lifecycle
sudo ./bindcaptain.sh build # Build container image
sudo ./bindcaptain.sh run # Start container
sudo ./bindcaptain.sh stop # Stop container
sudo ./bindcaptain.sh status # Check status
# DNS management
source ./tools/bindcaptain_manager.sh
bind.create_record --help # Show help
bind.list_zones # List all zones
bind.refresh # Reload BIND configuration
# System management
sudo ./tools/system-setup.sh # One-time system setup
sudo ./tools/config-setup.sh # Configure DNS zones
Essential requirements:
BindCaptain uses:
BindCaptain - Take command of your DNS infrastructure