BackendSide DNS Manager

User Guide — a complete, screen-by-screen walkthrough of the dashboard

This guide covers what you see, what you can click, and how to get common jobs done. It does not cover installation, the REST API, or anything you'd type into a terminal — those live in the product page and the API documentation.

1. First-Time Setup

The very first time you open the dashboard, you land on the Setup Wizard instead of the login screen. The wizard has four steps and a progress bar along the top.

Step 1 — Storage

Pick the folder where your zone files will live. The default is /data/zones. Click Check path to confirm the folder is writable; the wizard shows free disk space and a green tick when the path is OK. Click Continue to move on.

Step 2 — SSL (optional)

Tick Generate self-signed HTTPS certificate if you want the dashboard reachable over HTTPS straight away. Enter a hostname or IP in the Common name field. You can skip this step and turn HTTPS on later from the Settings page.

Step 3 — Install

Click Start installation. The wizard installs BIND9 and shows live progress in a black log panel. This usually takes 30–60 seconds. If the install needs to fix your machine's DNS resolver to reach the package servers, it does that automatically and restores your original setting afterwards. When you see the green Installation complete banner, click Continue.

Step 4 — Admin account

Create the first administrator. The username must be at least 3 characters and the password at least 8. Click Create account. The wizard then redirects you to the login screen.

You only see the wizard once. After this, the dashboard always opens on the login screen, and then the Dashboard.

2. Signing In

The sign-in page is split-screen: a brief product description on the left, the form on the right. Enter your username and password and click Sign in.

  • Wrong credentials show Incorrect username or password under the form.
  • Successful sign-in takes you to the Dashboard.
  • Your session lasts 24 hours. If it expires, you'll be bounced back here.

3. Getting Around the Dashboard

Once you're signed in, every page shares the same layout.

Left sidebar

Grouped navigation with a coloured-coral highlight for the page you're on.

OVERVIEWDashboard.
DNSZones, Records, Templates, Import Zones.
TOOLSDNS Lookup.
SYSTEMBIND Service, Configuration, BIND Configuration, Settings, Security, API Tokens, Webhooks, Audit Log.

At the very bottom of the sidebar there's a small BIND status pill — green when the name server is running, grey when it's not, with the version number.

Top bar

  • A breadcrumb showing where you are
  • The BIND status badge again (handy if you've scrolled down)
  • A bell icon for notifications
  • Your username and avatar in the top-right — click it for Settings and Sign out

4. Dashboard

The home screen. It gives you an at-a-glance health view.

Top row — four stat cards

  • Total zones
  • DNS records (across all zones)
  • Queries / 24h
  • BIND service — green if running, red if stopped

Charts

  • Query volume — an area chart of DNS queries over the last 24 hours, bucketed.
  • Records by type — a bar chart showing how many of each record type (A, AAAA, MX, TXT, etc.) you have in total.

Lists

  • Your zones — the first eight zones. Click any row to jump straight to that zone.
  • Live queries — a streaming feed of DNS queries as they happen.
  • Activity — recent service events (starts, reloads, errors).

Top-right buttons

  • Refresh — reload everything on the page
  • Add zone — shortcut to create a new zone

5. Zones

The main "list of all my domains" page.

Page header

  • Refresh and Add zone buttons on the right
  • A search box that filters as you type
  • Total count, e.g. "Showing 12 of 47"

Zones table

ColumnMeaning
NameThe domain.
TypeMaster or slave.
StatusActive (green) or Inactive (grey).
DNSSECSigned chip if signed; a dash if not.
RecordsCount of records in the zone.

Whole row is clickable — opens Zone Detail. Pagination appears under the table once you have more than 50 zones — just Prev / Next with the current page number.

Adding a zone

1
Click Add zone.
2
In the modal that opens:
  • Zone name — the FQDN, lower-case, no trailing dot (e.g. example.com).
  • Use default nameservers — tick this if you've set up zone defaults on the Configuration page. The dashboard will fill in your standard NS records and SOA email automatically.
  • Primary nameserver and Admin email — if you didn't tick the defaults box, fill these in manually.
  • Default TTL — usually 3600.
  • Template (optional) — pick from a dropdown to pre-fill a set of records (see Templates).
3
Click Create zone. You'll be taken to the new zone's detail page. BIND reloads automatically.

6. Zone Detail

Click any zone to open its detail page. This is where you'll spend most of your time.

Page header

  • The zone name in large mono type, with Active and Signed chips
  • Refresh, Export, and Add record buttons
  • Below the header: a row of summary stats — record count, nameserver, admin email, default TTL

Six tabs: Records · DNSSEC · Analytics · Recently deleted · Zone settings · Raw.

6.1 Records tab

The default view. Lists every record in the zone.

Toolbar
  • Search — filter by record name or value
  • Type pillsALL, then one pill per record type present (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR). Click a pill to filter; click again to clear.
Table
  • Tick-box column for bulk selection
  • Type badge (colour-coded)
  • Name@ means the apex of the zone
  • TTL
  • Value — long values are truncated; hover to see the full text
  • Actions — Copy value, Edit (pencil), DNS Lookup (search icon)

When you tick rows, a Delete N selected button appears in the toolbar.

Adding or editing a record

Click Add record (or the pencil icon on a row). A side drawer slides in from the right.

  • Type — dropdown
  • Name — leave blank or use @ for the apex
  • TTL
  • Value — the form adjusts to the type (an IP for A, a target for CNAME, a priority host pair for MX, and so on)

Buttons in the drawer footer:

  • Save changes — writes the record and reloads BIND
  • Cancel — close the drawer; if you've typed unsaved changes, you'll be asked to confirm
  • Delete (only when editing an existing record) — soft-deletes the record (you can restore it within 48 hours from the Recently deleted tab)
The "Discard changes?" confirmation only appears when you actually close the drawer with unsaved edits. Saving or deleting closes the drawer cleanly without prompting.

6.2 DNSSEC tab

Sign or unsign the zone.

  • If the zone is not signed, you see an Enable DNSSEC button. Click it; the dashboard sets up signing on the BIND side and starts polling for the keys to be generated (usually a few seconds).
  • Once signed, you see:
    • Keys table — Key tag, Algorithm, Role (CSK, KSK, or ZSK), Created date, Published date
    • DS records — copy-paste ready strings for your domain registrar. Every record has a one-click Copy button.
    • Live signing status — the output of rndc dnssec -status, refreshed every few seconds
    • Disable DNSSEC button
Send the DS records to your registrar — until you do, the rest of the internet won't know your zone is signed.

6.3 Analytics tab

A zone-specific Query volume area chart (same shape as the dashboard's global one, but filtered to just this zone).

6.4 Recently deleted tab

A list of records you've deleted in the last 48 hours (up to the most recent 50). Each row has a Restore button — one click puts the record back and reloads BIND.

6.5 Zone settings tab

Change the zone's metadata.

  • Type — master or slave (read-only)
  • Primary nameserver
  • Admin email — entered in normal [email protected] form
  • Default TTL

Click Save zone settings to apply.

This tab also has a red Delete zone button at the bottom. You'll be asked to type the zone name to confirm.

6.6 Raw tab

The full zone file shown in a dark, syntax-highlighted code block. Two buttons above it:

  • Copy — copies the whole thing to your clipboard
  • Download — saves a .zone file

Useful for sharing with support, taking ad-hoc backups, or just reading what you've built.

7. Records (All Zones)

Sometimes you want to see every record everywhere — for example, to find "which zone has that old IP?". The Records page does that.

Toolbar

  • Search — matches name, value, or zone
  • Zone dropdown — All zones, or a specific zone
  • Type pills — same as Zone Detail

Table

  • Type, Zone, Name, TTL, Value
  • Rows are clickable — they jump to the corresponding Zone Detail page

The page is purely a viewer — to add or edit a record, open its zone.

8. Templates

A zone template is a saved bundle of records you can apply when creating a zone. Great for "every new customer site needs the same five records".

Page layout

  • Built-in templates — collapsed cards with a small lock icon. Expand any card to see the records it contains. You can use them but not delete them. The shipped templates are empty, basic-web, mail-services, and full-stack.
  • Custom templates — cards for the templates you've created, each with a Delete button.

Creating a template

1
Click New template.
2
In the modal:
  • Name — short identifier (e.g. customer-baseline)
  • Description — optional
  • Records — add a row per record (Type, Name, TTL, Value). Add and remove rows as needed.
3
Click Create template.

Your template will then appear in the Template dropdown of the Add Zone modal.

9. Import Zones

Bring existing BIND zone files into the dashboard. Two tabs at the top: From directory and Paste zone file.

From directory

1
Type a folder path (e.g. /var/named/backup) and click Scan.
2
The dashboard walks the folder, validates every .zone file, and shows a results table:
  • Zone name
  • StatusNew (green), Conflict (yellow — zone already exists), or Invalid (red — fails validation)
  • Record count, SOA serial, and any notes
3
Use the tick-boxes to pick which zones to import. Three quick buttons above the table help: Select all valid, Select new only, Deselect all. New zones are pre-selected by default.
4
Click Import N selected. The dashboard copies the files in, updates BIND's includes, and reloads in a single pass. A results panel below shows OK / error per zone.

Paste zone file

1
Paste raw zone file content into the big text area.
2
Type or auto-detect the Zone name (the dashboard tries to read it from the SOA line if present).
3
Click Import zone.
4
On success you'll see a green check and a View zone link.

Invalid zone files are rejected with the validator's error message, so you can fix and re-paste without leaving the page.

10. DNS Lookup

A built-in dig so you can verify what your DNS is actually returning without leaving the dashboard.

  • Name — the FQDN to query (e.g. www.example.com)
  • Type — dropdown (A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, CAA, SRV, ANY)
  • Server — defaults to 127.0.0.1 (your own BIND); you can point it at any public resolver such as 8.8.8.8
  • Lookup button

Results appear underneath in a terminal-style block, exactly as dig would print them.

Shortcut: every record row on Zone Detail has a small search-code icon — click it and you'll arrive here with the name and type pre-filled and the query already submitted.

11. BIND Service

The control panel for the underlying name server.

Service status card

  • A coloured dot — green for running, grey for stopped, red for failed
  • Service name, status badge, version, number of zones loaded
  • Three control buttons:
    • Reload — fastest. Picks up zone file changes without a service restart.
    • Restart — full restart. Brief DNS downtime (a second or two).
    • Restart manager — restarts the dashboard process itself (handy if the UI is misbehaving). The dashboard shows a "reconnecting" overlay and reloads automatically.

Recent service events

A feed of service-level events (starts, reloads, errors) pulled from the system journal.

12. Configuration

The dashboard's own paths and listen address.

  • Zone mount point — the folder where zone files live (you set this in the Setup Wizard; you can move it here later).
  • BIND config directory — where BIND's own config lives (auto-detected per OS).
  • Listen address — the dashboard's HTTP listener, e.g. :8084.
  • Zone defaults — your standard set of nameservers, admin email, default TTL, and primary server IP. Anything you set here can be auto-applied to new zones via the Use default nameservers tick-box in the Add Zone modal. The Detect button next to the IP field auto-fills the host's outbound IPv4.

Click Save configuration to apply. Changes that move data or change the listen port require a manager restart (see the BIND Service page) to take effect.

13. BIND Configuration

For tuning BIND's own behaviour. Most installations never need to touch this page.

  • Hide version — when on, BIND answers version queries with hidden instead of its real version string.
  • Zone name checkingwarn / fail / ignore
  • DNSSEC validation — turn DNSSEC checking of upstream answers on or off
  • Recursion — allow this server to recurse, or only answer for the zones it's authoritative for
  • Allow recursion from — the trusted IPs / CIDRs that may use recursion (one per line)
  • Query log — verbose query logging
  • Custom options — a free-form text box for raw BIND directives

Click Save BIND options. The dashboard validates the resulting config before applying it; if validation fails, you'll see the validator's error output and your previous config is left in place. On success, BIND reloads automatically.

14. Settings

Per-account and HTTPS controls.

HTTPS

  • A toggle to turn HTTPS on or off (requires a certificate to be installed)
  • Current certificate details — common name, issuer, validity dates, installed / missing badge

Generate certificate

  • Common name — your hostname or IP
  • Validity period — in years, default 10
  • Generate self-signed certificate button

Change password

  • Current password
  • New password (8+ characters)
  • Confirm password
  • Change password button

Session

Sign out button — ends your session in this browser.

Enabling HTTPS or generating a new certificate requires a manager restart to take effect — the dashboard prompts you when that's the case.

15. Security

Lock the dashboard down to your network. Four sections.

Rate limiting

  • Enable rate limiting toggle
  • Login limit — requests per minute per IP (e.g. 10)
  • API limit — requests per minute per IP (e.g. 60)

Access restrictions

  • Admin login whitelist — IP addresses or CIDRs allowed to reach the login page (one per line; empty means anyone)
  • API key whitelist — same idea, but for API requests

Port firewall

  • Enable port firewall toggle
  • Allowed IPs / CIDRs text area
  • A live view of the current firewall rules
  • Self-lockout guard — if your current IP isn't in the allow-list, the page warns you before applying so you don't lock yourself out.

API Tokens

A summary card here mirrors the dedicated API Tokens page — you can create and delete tokens from either location.

Click Save security settings at the bottom of each section to apply.

16. API Tokens

Manage long-lived tokens for scripts, monitoring tools, and CI pipelines.

Table columns: Name, Created, Last used, Status, Delete

Creating a token

1
Click New token.
2
Enter a name (e.g. deploy-script, monitoring-prometheus).
3
Click Create token.
4
The new token is displayed once in a modal. Copy it now — you will not be able to see it again. Store it in your password manager or secrets store.
5
Click Done to close.

Revoking a token

Click the Delete button next to the token, confirm in the modal. The token stops working immediately.

The original API_KEY printed by the installer still works as a fallback even if you delete every token here.

17. Webhooks

Get a POST to your URL whenever something changes in DNS.

Table columns: Name, URL, Secret (yes / no), Events, Created, Last triggered, Test, Delete

Creating a webhook

1
Click Add webhook.
2
In the modal:
  • Name — your label (e.g. slack-notifier)
  • URL — the endpoint to POST to
  • Secret — optional; if set, every delivery includes an X-Webhook-Signature: sha256=<hex> header so your receiver can verify authenticity.
  • Events — tick the events you want to subscribe to. Leave them all unchecked to subscribe to everything. The available events are zone.created, zone.deleted, record.created, record.updated, record.deleted.
3
Click Create webhook.

Testing a webhook

Each row has a Test button. Click it to send a sample payload right now; the row turns green on success or red on failure, with the response status code shown inline.

Deleting a webhook

Click Delete, confirm. Future events will not be sent to that URL.

18. Audit Log

A read-only trail of everything that's changed, who did it, and when.

  • A Show last dropdown lets you load the last 50 / 100 / 200 / 500 / 1000 entries
  • A Refresh button pulls the latest

Columns: Timestamp, User, IP, Action, Target, Detail

Examples of what shows up:

  • Login attempts (success and failure)
  • Zone create / update / delete
  • Record create / update / delete
  • DNSSEC enable / disable
  • Password change
  • Token create / revoke
  • Security settings change
  • BIND options change
  • Webhook create / delete
  • Imports

The log is append-only — there is no way to edit or remove entries from the dashboard. Useful for compliance and "who broke prod" investigations.

19. Common Tasks — Step by Step

Create your first zone and a few records

1
ZonesAdd zone.
2
Enter the domain, fill in nameserver and admin email (or use defaults).
3
Pick the basic-web template if you want @, www, and a couple of common defaults filled in automatically.
4
Click Create zone — you'll land on Zone Detail.
5
Add record → choose A, leave the name empty (the apex), enter your server IP, Save changes.
6
Add recordCNAME, name www, value @, Save changes.

Move a zone from another DNS server

1
DNSImport ZonesPaste zone file tab.
2
Paste the zone file content, confirm the zone name, click Import zone.
3
On the success message, click View zone to verify the records.

Sign a zone with DNSSEC and notify your registrar

1
Open the zone.
2
DNSSEC tab → Enable DNSSEC.
3
Wait a few seconds for keys to appear.
4
Copy each DS record and paste them into your registrar's DNSSEC panel.
5
Verify with DNS Lookup → type DS, server 8.8.8.8, name = your zone. The DS should be visible within a few minutes.

Lock the dashboard down to your office IP

1
SystemSecurity.
2
Under Admin login whitelist add your office's public CIDR (e.g. 203.0.113.0/24).
3
Under Port firewall enable the firewall and add the same CIDR.
4
The page will warn you if your current IP is missing — double-check before saving.
5
Save security settings.

Get notified in Slack whenever a record changes

1
SystemWebhooksAdd webhook.
2
Name slack-record-changes, URL = your Slack incoming webhook.
3
Tick record.created, record.updated, record.deleted.
4
Set a secret if you want signature verification.
5
Create webhook, then click Test on the new row to confirm the integration.

Restore a record you just deleted by mistake

1
Open the zone.
2
Recently deleted tab.
3
Find the record, click Restore. Available for 48 hours.

Take a backup of a zone

1
Open the zone.
2
Click Export in the page header. The browser downloads a .zone file.

(For a full-system backup including all zones plus the BIND config, use the backup endpoint documented in the API guide.)

20. Tips & Shortcuts

  • The BIND status pill at the bottom of the sidebar (and again in the topbar) is the fastest way to see if the name server is up.
  • Click any zone row to open it. Click any record row in the all-records table to jump to its zone.
  • The search-code icon next to a record runs a live DNS lookup against that record with one click.
  • The Refresh button on every page pulls fresh data — useful after somebody else has been making changes.
  • The bulk-delete checkbox in Zone Detail's record list saves a lot of clicks when you're cleaning house.
  • The Raw tab is the quickest way to take an ad-hoc backup or share a full zone with somebody over chat.
  • Templates save real time when you onboard new customer zones — set up one custom template and you can stand up a new zone in two clicks.
  • API Tokens are the right answer when you want to automate something. Don't bake the original install-time key into a script; create a named token so you can revoke it later without taking down everything else.
  • Audit Log answers most "who did that?" questions in under a minute.
If something on a screen doesn't match what you read here, you're probably on a newer (or older) build — the build number is printed in the bottom-right corner of the dashboard and on the changelog page.