Documentation
Complete guide to using ZoneMesh DNS Sync SaaS
Table of Contents
Getting Started
Core Concepts
Overview
What is ZoneMesh?
ZoneMesh is a DNS synchronization platform that enables you to keep DNS zones synchronized across multiple cloud providers and on-premises infrastructure. You deploy hub containers in your own infrastructure that pull zones from sources and push them to targets, giving you full control over your DNS data.
ZoneMesh gives you complete control over your DNS data. Hubs run in your infrastructure, ensuring your DNS zones never leave your network until you explicitly push them to targets.
Key Features#
- Multi-provider DNS synchronization - Route 53, AXFR (GCP Cloud DNS and Azure DNS coming soon)
- Real-time status monitoring - Track sync history and hub health in real-time
- Secure credential management - All credentials encrypted at rest
- Automated zone synchronization - Hubs sync zones automatically on a schedule
- Hub health testing - Built-in diagnostics to verify hub functionality
- Bulk operations - Manage multiple resources efficiently
- Flexible plans - Free and Pro subscription options
GCP Cloud DNS and Azure DNS support will be available in the near future. Stay tuned for updates!
How It Works#
ZoneMesh follows a simple workflow to keep your DNS zones synchronized:
- Configure Credentials - Set up cloud provider credentials in the Integrations page (only needed for Route 53)
- Create Zones - Define DNS zones and specify where to pull DNS records from (sources)
- Deploy Hubs - Deploy hub containers in your infrastructure to handle synchronization
- Attach Zones - Connect zones to hubs for synchronization
- Configure Targets - Specify where to push DNS records to (targets)
- Automatic Sync - Hubs automatically sync zones on a schedule and push changes to targets
Hubs sync zones every 10 minutes by default. You can also trigger manual syncs at any time.
Getting Started
Your first DNS zone in 5 minutes
Step 1: Set Up Cloud Credentials (If Needed)#
Cloud credentials are only required if you plan to use Route 53 as a source or target. If you're only using AXFR (zone transfer) for sources and targets, you can skip this step and proceed to creating zones.
GCP Cloud DNS and Azure DNS support will be available in the near future.
If you need cloud credentials for Route 53, configure them:
- Navigate to Integrations in the sidebar
- Click Add Credential
- Select AWS Route 53 as your provider
- Enter your AWS credentials:
- Access Key ID: Your AWS Access Key ID
- Secret Access Key: Your AWS Secret Access Key
- Give your credential a descriptive name
- Click Create
Step 2: Create a Zone#
Create a DNS zone that will be synchronized.
- Navigate to Zones in the sidebar
- Click Add Zone
- Enter your zone name (e.g.,
example.com) - Select a source type:
- Route 53: Pull from AWS Route 53 (currently supported) - Note that Route 53 doesn't support AXFR natively; ZoneMesh uses the Route 53 API instead. Learn about Route 53 zone transfer challenges.
- AXFR: Pull via zone transfer from a master DNS server (currently supported)
- GCP: Pull from Google Cloud DNS (coming soon)
- Azure: Pull from Azure DNS (coming soon)
- Configure source settings (hosted zone ID, project ID, master IP, etc.)
- Click Create Zone
Zone names are case-sensitive. Make sure the zone name matches exactly with your DNS provider.
Step 3: Deploy a Hub#
Deploy a hub container to sync your zones. Hubs run in your infrastructure and pull zones from sources, serve them via NSD, and push them to targets.
- Navigate to the Hubs page from the main navigation, or open your zone detail page
- Click Create Hub
- Enter a hub label (e.g.,
us-east-1-hub) - Click Create Hub
- Copy the Docker command and hub token that appear
The hub token is only shown once when you create the hub. Make sure to copy it immediately! If you lose it, you'll need to create a new hub.
- Run the Docker command on a server with Docker installed
- The hub will automatically connect and start syncing zones
- If created from the hubs page, attach the hub to zones from the zone detail page
Hubs require outbound HTTPS access to the control plane and port 53 TCP/UDP for DNS operations.
Example Docker Command#
Make sure to replace <your-hub-id>, your-hub-id, your-hub-token, and https://your-saas.com with your actual values. The hub token is only shown once when you create the hub!
docker run -d \ --name dns-sync-hub-<your-hub-id> \ -e HUB_ID=your-hub-id \ -e HUB_TOKEN=your-hub-token \ -e CONTROL_PLANE_URL=https://your-saas.com \ -p 53:53/tcp -p 53:53/udp \ ghcr.io/rogerb831/zonemesh/dns-hub:latest
Step 4: Configure Targets#
Configure where your zones should be pushed to after being synced.
- On your zone detail page, scroll to the Targets section
- Click Add Target
- Select target type:
- Route 53: Push to AWS Route 53 (currently supported) - requires Hosted Zone ID and region
- AXFR: Configure as AXFR secondary (currently supported) - requires secondary server IP, port, and optional TSIG key
- GCP: Push to Google Cloud DNS (coming soon)
- Azure: Push to Azure DNS (coming soon)
- Configure target settings based on the selected type
- Select the appropriate credential
- Click Create Target
You can configure multiple targets for a single zone. This allows you to push the same zone to multiple DNS providers simultaneously.
Zones
Managing DNS zones
Zone Sources#
Zones can be pulled from various sources. Each source type requires different configuration.
Route 53#
Pull zones from AWS Route 53. Requires an AWS credential with Route 53 read permissions. Note that Route 53 doesn't support AXFR/IXFR natively—learn more about why Route 53 zone transfers are hard and how ZoneMesh enables zone transfers with Route 53.
To add a Route 53 zone source:
- Click Create Zone from the Zones page
- Enter the zone name (e.g.,
example.com) - Select Route 53 as the source type
- Select the AWS credential to use (must have Route 53 read permissions)
- Enter the Hosted Zone ID from your AWS console (e.g.,
Z1234567890ABC) - Select the Region closest to your hub location
- Click Create to save the zone
Route 53 is a global service, but API calls require a region. Use the region closest to your hub location for best performance.
GCP Cloud DNS (Coming Soon)#
Pull zones from Google Cloud DNS. This feature will be available in the near future.
Azure DNS (Coming Soon)#
Pull zones from Azure DNS. This feature will be available in the near future.
AXFR (Zone Transfer)#
Pull zones via AXFR from a master DNS server (BIND, NSD, PowerDNS, etc.). Supports TSIG (Transaction Signature) authentication for secure zone transfers.
To add an AXFR zone source:
- Click Create Zone from the Zones page
- Enter the zone name (e.g.,
example.com) - Select AXFR as the source type
- Enter the Master IP address of your DNS server
- Optionally configure TSIG authentication (see below)
- Click Create to save the zone
Ensure your master DNS server allows zone transfers from your hub's IP address.
Configuring TSIG Authentication#
TSIG (Transaction Signature) provides cryptographic authentication for DNS zone transfers, preventing unauthorized access to your zone data. When enabled, ZoneMesh authenticates to your master DNS server using a shared secret.
To enable TSIG when creating or editing an AXFR zone:
- Toggle Enable TSIG Authentication to on
- Enter the Key Name — a unique identifier that must match exactly on your master DNS server (e.g.,
transfer-key) - Enter the Secret — a base64-encoded shared secret (at least 32 bytes recommended)
- Select the Algorithm — choose from
hmac-sha256(recommended),hmac-sha512,hmac-sha1, orhmac-md5
The TSIG key name, secret, and algorithm must match exactly between ZoneMesh and your master DNS server. Consult your DNS server's documentation for configuring TSIG keys.
Zone Synchronization#
Zones are automatically synchronized by hubs on a schedule (every 10 minutes by default). You can also trigger manual syncs and monitor sync status in real-time.
- Automatic Sync: Hubs check for zone updates every 10 minutes
- Manual Sync: Click Sync Now on a hub to trigger immediate synchronization
- Config Refresh: Click Refresh Config to fetch the latest zone configuration from the control plane
- Status Monitoring: View sync status and history in the zone detail page
- Target Status: See per-target sync status (fully synced, partial sync, error, etc.)
- Push Retry Limit: Configure how many times a hub should retry pushing to a target if it fails (default: 10, range: 0-50)
Zones sync automatically every 10 minutes. For faster updates, you can trigger manual syncs at any time from the hub or zone detail page.
Sync Status History#
The zone detail page displays sync status history for the last 24 hours. This helps you track sync events and troubleshoot issues.
- 24-Hour Window: Only sync events from the last 24 hours are displayed
- Scrollable List: Fixed-height scrollable table for easy navigation
- Clear History: Use the Clear button to remove all status history for a zone
- Automatic Cleanup: Status history older than 24 hours is automatically removed
- Real-Time Updates: Status updates appear in real-time as syncs complete
- Per-Hub History: View sync history for each hub attached to the zone
Editing and Deleting Zones#
You can edit zone source configuration or delete zones from the zones list or zone detail page.
- Edit Zone: Click the edit icon on a zone to update its source type and configuration
- Delete Zone: Use the delete action to permanently remove a zone and all its targets
- Bulk Delete: Select multiple zones and delete them at once from the zones list page
Deleting a zone will also delete all associated targets. However, hubs remain available and can be attached to other zones.
Hubs
BYOC hub deployment and management
What is a Hub?#
A hub is a Docker container that runs in your infrastructure. It:
- Pulls DNS zones from configured sources
- Serves zones via NSD (authoritative DNS server)
- Pushes zones to configured targets
- Reports sync status to the control plane
- Supports AXFR/IXFR zone transfers
Hub Requirements#
- Docker: Docker or Docker Compose installed
- Network: Outbound HTTPS access to the control plane
- Ports: Port 53 TCP/UDP (for DNS queries and AXFR transfers)
- Resources: Minimal - 512MB RAM, 1 CPU core
Hub Status#
Hubs report their status in real-time. Status indicators:
Hub Management Page#
Access the dedicated hubs management page from the navigation menu to view and manage all your hubs in one place.
- View All Hubs: See all hubs across all zones with their status and attached zones
- Create Hub: Create new hubs without attaching to a zone first
- Hub Actions: Sync, refresh config, restart, test services, or delete hubs
- Zone Links: Click on zone names to navigate to zone detail pages
Hub Management Actions#
- Sync Now: Trigger immediate zone synchronization for all zones attached to the hub
- Refresh Config: Fetch latest zone configuration from control plane
- Restart Hub: Send restart command to hub container (reloads DNS server configuration)
- Services Test: Test hub services to verify DNS server and DNS resolution are working correctly
- Detach: Remove hub from a zone (hub container continues running and can be attached to other zones)
- Delete Hub: Permanently delete a hub (only available if the hub is not attached to any zones)
- Bulk Delete: Select multiple hubs and delete them at once from the hubs list page
- Update Software: Update hub container software to the latest version (bulk update available)
Services Test#
The Services Test feature allows you to verify that your hub is functioning correctly by testing two key services:
- DNS Server Test: Verifies that the hub's DNS server is running and responding
- DNS Resolution Test: Verifies that the hub can resolve DNS queries correctly
To run a services test, navigate to a hub detail page or use the "Test Services" button in the hub actions menu. Test results will appear showing whether each service passed or failed, along with any error messages.
Hub Detail Page#
Each hub has a dedicated detail page where you can view and manage all zones attached to the hub, monitor hub status, and view sync history.
- Attached Zones: View all zones currently attached to the hub
- Attach Zone: Add zones to the hub from the hub detail page
- Detach Zone: Remove zones from the hub
- Status History: View sync history for all zones on this hub (last 24 hours)
- Hub Information: View hub ID, status, last seen time, and creation date
Targets
Configuring DNS provider targets
Target Types#
Zones can be pushed to various DNS providers. Each target type requires different configuration.
Route 53 Target#
Push zones to AWS Route 53. Requires an AWS credential with Route 53 write permissions. While Route 53 doesn't support AXFR/IXFR as a protocol, ZoneMesh enables zone synchronization via the Route 53 API. Learn about Route 53 zone transfer limitations and how ZoneMesh works around them.
To add a Route 53 target:
- Navigate to the zone detail page
- Click Add Target
- Select Route 53 as the target type
- Select the AWS credential to use (must have Route 53 write permissions)
- Enter the Hosted Zone ID from your AWS console (e.g.,
Z1234567890ABC) - Select the Region closest to your hub location
- Click Create to save the target
Make sure your AWS credential has write permissions — either AmazonRoute53FullAccess or a custom policy with route53:ChangeResourceRecordSets.
GCP Cloud DNS Target (Coming Soon)#
Push zones to Google Cloud DNS. This feature will be available in the near future.
Azure DNS Target (Coming Soon)#
Push zones to Azure DNS. This feature will be available in the near future.
AXFR Secondary Server#
Configure the hub's NSD server to allow zone transfers to secondary DNS servers. The secondary servers will pull zones via AXFR/IXFR from the hub. Supports TSIG (Transaction Signature) authentication for secure zone transfers.
To add an AXFR secondary target:
- Navigate to the zone detail page
- Click Add Target
- Select AXFR Secondary as the target type
- Enter the IP Address of your secondary DNS server
- Optionally configure TSIG authentication (see below)
- Click Create to save the target
AXFR targets don't require pushing — the hub's DNS server is configured to allow zone transfers to the specified IP addresses. Secondary servers pull zones automatically via AXFR/IXFR protocol.
Configuring TSIG Authentication#
TSIG (Transaction Signature) ensures only authorized secondary servers can pull zones from your hub. When enabled, the hub's NSD server requires TSIG authentication for zone transfers.
To enable TSIG when creating or editing an AXFR target:
- Toggle Enable TSIG Authentication to on
- Enter the Key Name — a unique identifier that must match exactly on your secondary server (e.g.,
transfer-key) - Enter the Secret — click Generate to create a secure base64-encoded secret, or enter your own
- Select the Algorithm — choose from
hmac-sha256(recommended),hmac-sha512,hmac-sha1, orhmac-md5
When editing an AXFR target with TSIG enabled, ZoneMesh displays a copyable configuration snippet. Click Copy to get the exact key configuration for your secondary DNS server.
The TSIG key name, secret, and algorithm must match exactly between ZoneMesh and your secondary DNS server. Consult your DNS server's documentation for configuring TSIG keys.
Editing and Deleting Targets#
You can edit target configuration or delete targets from the zone detail page or the targets list page.
- Edit Target: Click the edit icon on a target to update its configuration and credentials
- Delete Target: Use the delete action to remove a target from a zone
- Bulk Delete: Select multiple targets and delete them at once from the targets list page
- Target Status: View real-time sync status for each target (fully synced, partial sync, error, etc.)
Integrations
Managing cloud provider credentials
When Are Credentials Needed?#
Cloud provider credentials are only required when using Route 53 as a source or target. If you're using AXFR (zone transfer) for both sources and targets, you don't need to configure any cloud credentials.
- Route 53 source/target: Requires AWS credentials (currently supported)
- AXFR source/target: No cloud credentials needed (uses zone transfer protocol, currently supported)
- GCP Cloud DNS source/target: Coming soon - will require GCP service account credentials
- Azure DNS source/target: Coming soon - will require Azure service principal credentials
Credential Security#
All credentials are encrypted at rest and are never stored in plain text. Credentials are only decrypted when needed by hubs for DNS operations, ensuring your cloud provider credentials remain secure.
AWS Route 53 Credentials#
To use Route 53 as a source or target, you need AWS Access Keys. Follow these steps to create and configure them. Understanding why Route 53 zone transfers are hard can help you better configure ZoneMesh for Route 53 synchronization.
Step 1: Create AWS IAM User and Access Keys#
- Log in to the AWS Console
- Navigate to IAM → Users → Create User
- Enter a username (e.g.,
dns-sync-route53) - Click Next to set permissions
- Attach policies with Route 53 permissions:
AmazonRoute53ReadOnlyAccess(for pulling zones as a source)AmazonRoute53FullAccess(for pushing zones as a target)- Or create a custom policy with only the permissions you need (see below)
- Click Next and then Create User
- Open the user → Security credentials tab
- Click Create access key
- Select Application running outside AWS
- Click Next and then Create access key
- Important: Copy the Access Key ID and Secret Access Key immediately
The secret access key is only shown once! Make sure to copy it immediately and store it securely. You won't be able to view it again.
Step 2: Add Credentials to the Application#
- Navigate to Integrations in the sidebar (or go to
/dashboard/integrations) - Click Add Credential
- Fill in the form:
- Credential Name: A descriptive name (e.g., "Production Route 53")
- Provider: Select "AWS Route 53"
- Access Key ID: Your AWS Access Key ID
- Secret Access Key: Your AWS Secret Access Key
- Region: AWS region (e.g.,
us-east-1)
- Click Create Credential
Note: Route 53 is a global service, but API calls require a region. Use us-east-1 as the default.
Required AWS Permissions#
For Route 53 operations, the IAM user needs the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
"route53:GetHostedZone",
"route53:ListResourceRecordSets",
"route53:ChangeResourceRecordSets",
"route53:GetChange"
],
"Resource": "*"
}
]
}Or use the managed AWS policies:
AmazonRoute53ReadOnlyAccess- For read-only operations (pulling zones)AmazonRoute53FullAccess- For read/write operations (pulling and pushing zones)
For better security, create a custom IAM policy with only the permissions you need rather than using the full access policy.
Using Credentials#
Once created, credentials are available when:
- Creating a zone with Route 53 as the source
- Adding a Route 53 target to push zones to
You can create multiple credential sets (e.g., one for development, one for production) and select the appropriate one for each zone or target.
GCP Credentials (Coming Soon)#
GCP Cloud DNS support will be available in the near future. When available, you'll need to create a service account in your GCP project with the appropriate DNS roles.
Azure Credentials (Coming Soon)#
Azure DNS support will be available in the near future. When available, you'll need to create an Azure AD application (service principal) with the appropriate DNS zone permissions.
Editing and Deleting Credentials#
You can edit credential configuration or delete credentials from the integrations page.
- Edit Credential: Click the edit icon on a credential to update its configuration
- Delete Credential: Use the delete action to remove a credential (only if not in use by any zones or targets)
You cannot delete credentials that are currently being used by zones or targets. Update or remove those zones/targets first.
Editing and Deleting Resources
Managing your zones, hubs, targets, and credentials
General Guidelines#
Most resources can be edited and deleted, with some restrictions:
- Most resources can be edited by clicking the edit icon (pencil) next to the resource
- Delete actions are available in dropdown menus or action buttons
- Bulk operations (delete multiple items) are available on list pages by selecting items with checkboxes
- Some resources cannot be deleted if they are in use (e.g., credentials used by zones/targets, hubs attached to zones)
Use bulk operations to efficiently manage multiple resources at once. Select items using checkboxes on list pages.
Zones#
- Edit: Update zone name, source type, and source configuration
- Delete: Permanently removes the zone and all its targets (hubs remain available)
- Bulk Delete: Select multiple zones from the zones list page and delete them at once
Deleting a zone will also delete all associated targets. Hubs remain available and can be attached to other zones.
Hubs#
- Edit: Hub labels can be updated (though this is typically not necessary)
- Delete: Only available if the hub is not attached to any zones
- Detach: Remove hub from zones without deleting the hub itself
- Bulk Delete: Select multiple hubs from the hubs list page and delete them at once
Before deleting a hub, make sure to detach it from all zones first. The hub container will continue running until you stop it manually.
Targets#
- Edit: Update target type, configuration, and credentials
- Delete: Remove target from a zone
- Bulk Delete: Select multiple targets from the targets list page and delete them at once
Credentials#
- Edit: Update credential name and configuration (e.g., access keys, service account JSON)
- Delete: Only available if the credential is not used by any zones or targets
Before deleting a credential, ensure no zones or targets are using it. Update or remove those zones/targets first.
Billing & Subscriptions
Managing your subscription and plan
Plans#
ZoneMesh offers two subscription plans:
Free Tier#
Perfect for testing and small deployments:
- Limited number of zones, hubs, and targets
- Basic DNS synchronization features
- Perfect for testing and small deployments
Pro Plan#
Unlock higher limits and premium features:
- Higher limits for zones, hubs, and targets
- Access to all current features (Route 53 and AXFR support)
- Early access to GCP and Azure DNS support when available
- Priority support
- Monthly or annual billing options
Managing Your Subscription#
Access billing and subscription management from Settings → Billing in the navigation menu.
- View Current Plan: See your current plan, usage, and limits
- Upgrade to Pro: Upgrade from Free tier to Pro plan
- Update Payment Method: Change your payment method for Pro subscriptions
- Unsubscribe: Cancel your Pro subscription (access continues until the end of the billing period)
- Resubscribe: Reactivate a canceled subscription
- View Invoices: Access upcoming invoice previews
Usage Limits#
Your current usage is displayed on the billing page, showing how many zones, hubs, and targets you're using compared to your plan limits.
- Usage Tracking: Real-time usage counts for zones, hubs, and targets
- Limit Warnings: Notifications when approaching plan limits
- Upgrade Prompts: Suggestions to upgrade when limits are reached
- Unsubscription Blocking: If you're using more than free tier limits, you must reduce usage before unsubscribing
If you're using more than free tier limits, you must reduce usage before unsubscribing from the Pro plan.
Organization Settings#
Manage your organization settings from Settings → General in the navigation menu.
- Display Name: Update your organization's display name
- Delete Organization: Permanently delete your organization and all associated data
You cannot delete an organization with an active subscription. Cancel the subscription first.
Troubleshooting
Common issues and solutions
Hub Connection Issues#
Hub shows as "offline"#
Try these steps to diagnose hub connection issues:
- Check if the Docker container is running on your server
- Check container logs for error messages
- Verify the hub ID and token are correct in your Docker command
- Ensure the control plane URL is accessible from your hub's network
- Check firewall rules allow outbound HTTPS connections
- Use the "Services Test" feature to diagnose hub issues
Hub connects but immediately disconnects#
- Verify the hub token is correct and hasn't been regenerated
- Check network connectivity to the control plane
- Review hub container logs for authentication errors
- Ensure the hub token matches the one shown when you created the hub
SSL certificate verification error#
If you see SSL certificate errors in your hub logs:
- This typically occurs in development/test environments with self-signed certificates
- Add
-e SSL_VERIFY=falseto your Docker run command
Never disable SSL verification in production! Always use proper SSL certificates. Disabling SSL verification should only be used in development/test environments.
Zone Sync Failures#
Zone sync fails with credential error#
- Verify credentials are correctly configured in Integrations
- Check credential permissions match requirements
- For AWS Route 53: Verify IAM user has Route 53 permissions
- For AXFR: Verify master DNS server allows zone transfers from your hub's IP address
Zone sync fails with "zone not found"#
- Verify zone name matches exactly (case-sensitive)
- Check source configuration (hosted zone ID, project ID, etc.)
- Ensure the zone exists in the source DNS provider
AXFR transfer fails#
- Verify master DNS server IP address is correct
- Check if TSIG key is required and correctly configured
- Ensure port 53 TCP is accessible from the hub
- Verify the master DNS server allows zone transfers from your hub's IP address
- Check hub logs for specific AXFR error messages
Target Push Failures#
Target push fails#
- Verify target configuration (hosted zone ID, project ID, etc.)
- Check credential has write permissions
- Ensure target zone exists in the DNS provider
- Review hub logs for detailed error messages
AXFR secondary cannot pull zone#
- Verify AXFR target is configured in the zone
- Use the "Services Test" feature to verify the hub's DNS server is running
- Verify port 53 TCP/UDP is accessible from the secondary server
- Check that the hub's IP address is allowed to transfer zones to the secondary
- Review hub logs for zone transfer attempts and errors
Getting Help#
If you're still experiencing issues:
Use these resources to help diagnose and resolve issues:
- Check hub container logs for detailed error messages
- Review sync status history in the zone detail page (shows last 24 hours)
- Use the "Services Test" feature to verify hub functionality
- Check target status indicators to see which targets are failing
- Verify credentials have the correct permissions for your DNS providers
- Contact support with hub logs, zone configuration, and error details
Best Practices
Recommendations for optimal setup
Security#
Follow these recommendations to keep your DNS infrastructure secure:
- Use IAM roles/service accounts with minimal required permissions (read-only for sources, write for targets)
- Rotate credentials regularly for better security
- Use TSIG keys for AXFR transfers when possible to secure zone transfers
- Restrict hub container network access to necessary endpoints only
- Keep hub containers updated using the "Update Software" feature
- Never share hub tokens or credentials
- Use proper SSL certificates in production (never disable SSL verification)
Hub tokens and cloud provider credentials should never be shared or committed to version control. Treat them as sensitive secrets.
High Availability#
For production deployments, always plan for redundancy:
- Deploy multiple hubs in different regions/availability zones
- Attach zones to multiple hubs for redundancy
- Configure Docker restart policies:
--restart unless-stopped - Monitor hub status regularly
docker run -d \ --restart unless-stopped \ --name dns-sync-hub-<your-hub-id> \ -e HUB_ID=your-hub-id \ -e HUB_TOKEN=your-hub-token \ -e CONTROL_PLANE_URL=https://your-saas.com \ -p 53:53/tcp -p 53:53/udp \ ghcr.io/rogerb831/zonemesh/dns-hub:latest
Performance#
These tips will help you achieve optimal synchronization performance:
- Place hubs close to your DNS sources for faster sync times
- Use multiple hubs in different regions to distribute load and improve redundancy
- Monitor sync times in the status history and adjust if needed
- Configure appropriate push retry limits based on your network reliability
- Attach zones to multiple hubs for redundancy and faster synchronization
Sync status history shows the last 24 hours of sync events. Use this to identify patterns and optimize your setup.