Installation Guide
Get NexoralDNS up and running in minutes with our automated installation script.
Quick Installation
The easiest way to install NexoralDNS is using our one-command installer:
curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -â What the installer does:
- Automatically installs Docker and Docker Compose if not present
- Downloads the latest NexoralDNS images
- Configures system DNS settings
- Starts all NexoralDNS services
- Sets up the web dashboard on port 4000
System Requirements
| Component | Requirement |
|---|---|
| Operating System | Linux Debian/Ubuntu (Recommended) |
| Memory | Minimum 1GB RAM (2GB+ recommended) |
| Storage | Minimum 4GB free space |
| Network | LAN connectivity (NOT cloud/public internet) |
| Privileges | Administrator/root access for installation |
| Ports | 53 (DNS), 4000 (Web Dashboard) |
Manual Installation
If you prefer manual installation or want to contribute to development:
Step 1: Clone the Repository
git clone https://github.com/nexoral/NexoralDNS.git\ncd NexoralDNSStep 2: Start with Docker Compose
cd Scripts\nsudo docker compose up -dStep 3: Verify Installation
sudo docker compose psYou should see all services running with status "Up".
Post-Installation Setup
1. Access the Web Interface
Open your browser and navigate to:
http://localhost:40002. Initial Login
Use the default credentials:
- Username: admin
- Password: admin
â ī¸ Security Warning:
Change the default password immediately after first login! Go to Settings â Change Password.
3. Activate the Service
Enter your activation key from the cloud platform. If you don't have one, the free tier will be activated automatically.
4. Configure Your Router
To use NexoralDNS for your entire network:
- Find your machine's local IP address (e.g., 192.168.1.100)
- Access your router's admin panel
- Navigate to DNS settings (usually under LAN or DHCP settings)
- Set Primary DNS to your machine's IP address
- Save and restart your router
5. Reserve a Static IP
In your router settings, reserve the IP address for your NexoralDNS machine to prevent DNS interruption if the IP changes.
Service Management Commands
Start Services
curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s startStop Services
curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s stopUpdate Services
curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s updateComplete Removal
curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s removeđī¸ Warning:
The remove command will completely delete all configurations, services, and data. This action is irreversible!
Verification
Test DNS Resolution
From any device on your network, test DNS resolution:
# On Linux/Mac\ndig @192.168.1.100 google.com\n\n# On Windows\nnslookup google.com 192.168.1.100Check Service Status
sudo docker compose psView Logs
# All services\nsudo docker compose logs -f\n\n# Specific service\nsudo docker compose logs -f dns-serverNext Steps
- Explore Features - Learn about custom domains, blocking rules, and more
- Understanding Architecture - Deep dive into how NexoralDNS works
- API Reference - Automate with the REST API
- Troubleshooting - Common issues and solutions
Getting Help
If you encounter any issues during installation:
- Check the Troubleshooting Guide
- Open an issue on GitHub
- Review existing issues for similar problems
- Premium users: Contact support for priority assistance