Install Command

Install NexoralDNS with a single command. This automated installer handles all dependencies and configurations.

Command

curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -

What It Does

The installation script automates the entire setup process for NexoralDNS. It detects your system configuration and performs the following actions:

Installation Steps:

  • Verifies system compatibility (Linux Debian/Ubuntu)
  • Checks for and installs Docker if not present
  • Checks for and installs Docker Compose if not present
  • Downloads the NexoralDNS repository
  • Pulls the latest Docker images for all services
  • Configures system DNS settings to use NexoralDNS
  • Starts all containers (DNS server, web dashboard, cache manager)
  • Verifies successful installation
  • Displays access information for the web interface

System Requirements

Before running the installation command, ensure your system meets these requirements:

RequirementDetails
Operating SystemLinux (Debian/Ubuntu based distributions recommended)
PrivilegesRoot or sudo access required
RAMMinimum 1GB, 2GB+ recommended
StorageAt least 4GB free space
NetworkLAN connectivity (NOT for cloud/public servers)
Ports53 (DNS) and 4000 (Dashboard) must be available

Expected Output

During installation, you'll see progress indicators for each step. A successful installation will display:

[✓] System compatibility check passed
[✓] Docker installed successfully
[✓] Docker Compose installed successfully
[✓] NexoralDNS repository cloned
[✓] Docker images downloaded
[✓] Services started successfully
[✓] DNS configuration updated

Installation complete!

Access the web dashboard at: http://localhost:4000
Default credentials:
  Username: admin
  Password: admin

IMPORTANT: Change the default password after first login!

Post-Installation Steps

  1. Access the Dashboard: Navigate to http://localhost:4000 in your browser
  2. Login: Use username admin and password admin
  3. Change Password: Immediately update credentials in Settings
  4. Configure Router: Set your router's DNS to your machine's IP address
  5. Reserve Static IP: Configure your router to assign a static IP to the NexoralDNS machine

Security Notice:

The default credentials are widely known. For security, you MUST change the password immediately after installation. Go to Settings → Change Password in the web dashboard.

Troubleshooting

Installation Fails with Permission Denied

Solution: Run the command with sudo or as root user:

sudo curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | sudo bash -

Port 53 Already in Use

Problem: Another DNS service is using port 53 (e.g., systemd-resolved).

Solution: Disable the conflicting service:

sudo systemctl disable systemd-resolved\nsudo systemctl stop systemd-resolved

Port 4000 Already in Use

Problem: Another application is using port 4000.

Solution: Either stop the conflicting service or modify the port in docker-compose.yml before installation.

Docker Installation Fails

Solution: Manually install Docker and Docker Compose, then run the installation again:

# Install Docker\ncurl -fsSL https://get.docker.com | sh\n\n# Install Docker Compose\nsudo apt-get install docker-compose-plugin\n\n# Run NexoralDNS installer again\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -

Cannot Access Web Dashboard

Check services are running:

sudo docker compose ps

View logs for errors:

sudo docker compose logs -f

DNS Resolution Not Working

Verify DNS server is listening:

sudo netstat -tulpn | grep :53

Test DNS query:

dig @localhost google.com

Need More Help?

  • Check the Troubleshooting Guide for more solutions
  • Review GitHub Issues for known problems
  • Open a new issue if you encounter a unique problem
  • Premium users: Contact support for priority assistance

Next Steps