Get Started/Installation
v3.5.44
Get Started

Installation

Everything you need to install NexoralDNS — automated and manual paths, system requirements, service management, and verification.

Quick installation

A single command installs Docker, downloads the latest images, and starts every service.

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

What the installer does

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

RequirementSpecification
OSLinux Debian/Ubuntu (recommended)
MemoryMinimum 1GB RAM (2GB+ recommended)
StorageMinimum 4GB free space
NetworkLAN connectivity — NOT cloud/public
PrivilegesAdministrator / root access
Ports (external)53 UDP/TCP (DNS), 853 TCP (DNS over TLS), 4000 TCP (Web Dashboard)
Ports (internal)27017 TCP (MongoDB), 6379 TCP (Redis) — LAN/container only, not exposed publicly

Manual installation

1

Clone the repository

bash
git clone https://github.com/nexoral/NexoralDNS.git
cd NexoralDNS
2

Start containers

bash
cd Scripts
sudo docker compose up -d
3

Verify installation

All services should show status "Up".

bash
$ sudo docker compose ps

Post-installation setup

1

Access the web interface

Open http://localhost:4000 in your browser.

2

Initial login

Sign in with the default credentials.

Username — admin
Password — admin
3

Activate the service

Enter an activation key from the cloud platform. The free tier is activated automatically if no key is provided.

4

Configure your router

Find the machine's local IP and set it as Primary DNS in your router's DHCP/DNS settings.

5

Reserve a static IP

Reserve the IP in router settings to prevent DNS interruption.

⚠️
Change the default password
Change the default password immediately after first login — go to Settings → Change Password.

Service management

start services
$ curl -fsSL .../install.sh | bash -s start
stop services
$ curl -fsSL .../install.sh | bash -s stop
update services
$ curl -fsSL .../install.sh | bash -s update
remove (irreversible)
$ curl -fsSL .../install.sh | bash -s remove

Verification

test resolution
dig @192.168.1.100 google.com        # Linux/Mac
nslookup google.com 192.168.1.100    # Windows
check status
$ sudo docker compose ps
view logs
sudo docker compose logs -f
sudo docker compose logs -f dns-server
Next steps