Update Command

Update NexoralDNS to the latest version with a single command. This automated process handles version checking, downloading, and service restart.

Command

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

What It Does

The update command brings your NexoralDNS installation up to date with the latest features, security patches, and bug fixes. It performs the following operations:

Update Process:

  • Checks for NexoralDNS installation
  • Queries GitHub for the latest release version
  • Compares current version with latest version
  • Creates backup of current configuration
  • Gracefully stops all running services
  • Pulls latest Docker images from registry
  • Updates repository files and scripts
  • Restarts services with new version
  • Verifies successful update and service health
  • Displays version information and changelog

Version Checking

Automatic Version Detection

The update command automatically detects your current version and compares it with the latest available release:

Checking current version...
Current version: v1.2.3
Latest version:  v1.3.0

Update available! Proceeding with update...

Already Up to Date

If you're already running the latest version:

Checking current version...
Current version: v1.3.0
Latest version:  v1.3.0

āœ“ You are already running the latest version!
No update needed.

Manual Version Check

To check your current version without updating:

cd /path/to/NexoralDNS\ngit describe --tags

To check the latest available version:

curl -s https://api.github.com/repos/nexoral/NexoralDNS/releases/latest | grep '"tag_name"'

Update Process Details

Configuration Backup

Before updating, your configurations are automatically backed up:

Creating backup of current configuration...
Backup saved to: /var/lib/nexoraldns/backups/config_2025-12-20_14-30-45.tar.gz
āœ“ Backup completed successfully

Backup Location:

Configuration backups are stored in /var/lib/nexoraldns/backups/. These backups include all custom DNS records, block lists, user settings, and dashboard configurations. They do NOT include query logs or cache data.

Service Downtime

During the update, services will be temporarily unavailable:

  • DNS Server: 30-60 seconds downtime
  • Web Dashboard: 30-60 seconds downtime
  • Total Update Time: 2-5 minutes depending on connection speed

Network Impact:

During the update, DNS resolution will be unavailable for devices using NexoralDNS. This may cause temporary internet connectivity issues on your network. Consider scheduling updates during low-usage periods.

Expected Output

A successful update will display output similar to:

NexoralDNS Update Process
========================

[āœ“] Current installation detected
[āœ“] Version check completed
    Current: v1.2.3
    Latest:  v1.3.0

[āœ“] Configuration backed up
[āœ“] Services stopped gracefully
[āœ“] Pulling latest images...

latest: Pulling from nexoral/dns-server
Digest: sha256:abc123...
Status: Downloaded newer image for nexoral/dns-server:latest

latest: Pulling from nexoral/dashboard
Digest: sha256:def456...
Status: Downloaded newer image for nexoral/dashboard:latest

[āœ“] Images updated successfully
[āœ“] Repository files updated
[āœ“] Starting services with new version...
[āœ“] Health check passed

Update Complete!
================

Previous version: v1.2.3
Current version:  v1.3.0

What's New in v1.3.0:
  • Improved DNS query performance
  • New dashboard analytics features
  • Security patches applied
  • Bug fixes for cache manager

Access dashboard at: http://localhost:4000

Update Frequency Recommendations

Security Updates

Apply security updates immediately when notified. Security releases are tagged with SECURITY in release notes.

Feature Updates

Update monthly or when new features you need are released. Review the changelog before updating.

Patch Updates

Minor bug fixes and patches can be applied as needed, typically every 2-4 weeks.

Rollback Procedure

If an update causes issues, you can rollback to the previous version:

Option 1: Restore from Backup

# Stop services\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s stop\n\n# Restore configuration\nsudo tar -xzf /var/lib/nexoraldns/backups/config_YYYY-MM-DD_HH-MM-SS.tar.gz -C /\n\n# Start services\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s start

Option 2: Checkout Previous Version

# Navigate to installation directory\ncd /path/to/NexoralDNS\n\n# Stop services\nsudo docker compose down\n\n# Checkout previous version (replace with actual version)\ngit checkout v1.2.3\n\n# Pull images for that version\nsudo docker compose pull\n\n# Start services\nsudo docker compose up -d

Rollback Warning:

Rolling back to an older version may cause compatibility issues if the database schema or configuration format changed. Always check release notes for breaking changes before rolling back.

Pre-Update Checklist

Before updating, consider these steps:

  1. Read Release Notes: Review the changelog for breaking changes
  2. Check Disk Space: Ensure at least 2GB free space available
  3. Verify Backup: Confirm automatic backup completed successfully
  4. Schedule Downtime: Notify network users of brief service interruption
  5. Test Environment: If possible, test update on a staging system first

Troubleshooting

Update Fails - Network Issues

Problem: Cannot download latest images due to network connectivity.

Solution: Check internet connection and retry:

# Test connectivity to Docker Hub\ncurl -I https://hub.docker.com\n\n# Retry update\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s update

Update Fails - Insufficient Space

Problem: Not enough disk space to download new images.

Solution: Clean up old Docker images and containers:

# Remove unused images and containers\nsudo docker system prune -a\n\n# Check free space\ndf -h\n\n# Retry update\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s update

Services Don't Start After Update

Check logs for errors:

sudo docker compose logs

Verify image integrity:

sudo docker images | grep nexoral

Force re-pull images:

cd /path/to/NexoralDNS/Scripts\nsudo docker compose pull\nsudo docker compose up -d

Configuration Lost After Update

Restore from automatic backup:

# List available backups\nls -lh /var/lib/nexoraldns/backups/\n\n# Restore latest backup\nsudo tar -xzf /var/lib/nexoraldns/backups/config_LATEST.tar.gz -C /\n\n# Restart services\ncurl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | bash -s start

Update Notifications

Dashboard Notification

When a new version is available, you'll see a notification in the web dashboard with:

  • Current version number
  • Latest available version
  • Brief changelog highlights
  • One-click update button

Enable Auto-Update Notifications

Configure automatic update notifications in the dashboard:

Settings → System → Updates → Enable Update Notifications

Related Commands