# Part 2 - Member workspace (per-server tabs)

### Member tab bar (Generic Linux Server Pool)

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-tab-always-in-nav%3F-a"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Tab</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Always in nav?</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Active when</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Control panel</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Security</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">OpenLiteSpeed</span></div></td><td><div class="md-table-cell-content">Yes (Generic)</div></td><td><div class="md-table-cell-content">Content when OpenLiteSpeed detected; else frosted <span class="font-semibold" data-streamdown="strong">not detected</span> overlay</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">MariaDB</span></div></td><td><div class="md-table-cell-content">Yes (Generic)</div></td><td><div class="md-table-cell-content">Content when MariaDB/MySQL detected or cPanel-managed MySQL</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">cPanel</span></div></td><td><div class="md-table-cell-content">Yes (Generic)</div></td><td><div class="md-table-cell-content">Content when cPanel detected else frosted overlay</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Status</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always — host/agent health summary</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Cron &amp; Jobs</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Restore Backups</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Recipes</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Monitoring</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Settings</span></div></td><td><div class="md-table-cell-content">Yes</div></td><td><div class="md-table-cell-content">Always</div></td></tr></tbody></table>

</div></div></div>## Member Control Panel

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Host-level</span> operations on this Server — OS family, uptime, services, quick actions, TLS.

### What you see

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-heal"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Health strip</span></div></td><td><div class="md-table-cell-content">Agent version, heartbeat age, firewall summary</div></td></tr><tr><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Console</span></div></td><td><div class="md-table-cell-content">Open a secure SSH session to the member</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">KPI row</span></div></td><td><div class="md-table-cell-content">CPU, memory, disk, load</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Quick actions</span></div></td><td><div class="md-table-cell-content">Reboot, shutdown, install updates, backup (stack-aware), Let’s Encrypt (when applicable)</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Services</span></div></td><td><div class="md-table-cell-content">Running units relevant to detected stacks</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">SSL / TLS</span></div></td><td><div class="md-table-cell-content">Certificate expiry, sync domain from DNS</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Recent activity</span></div></td><td><div class="md-table-cell-content">Latest completed jobs</div></td></tr></tbody></table>

</div></div></div>## Member Security

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Security</span>.**

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Host firewall and SSH</span> on this member.

### What you see

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-fire"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Firewall KPIs</span></div></td><td><div class="md-table-cell-content">Enabled/disabled, rule count, last sync</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Action tiles</span></div></td><td><div class="md-table-cell-content">Enable/disable firewall, add rule, manage rules, backup UFW config</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">SSH access</span></div></td><td><div class="md-table-cell-content">Key-based access helpers</div></td></tr></tbody></table>

</div></div></div>## Member OpenLiteSpeed

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">OpenLiteSpeed</span>.  
Sub Tabs: Overview, Recovery Wizard**

<span class="font-semibold" data-streamdown="strong">For:</span> VMs where <span class="font-semibold" data-streamdown="strong">OpenLiteSpeed is the web server</span> — standalone OLS hosts.

<span class="font-semibold" data-streamdown="strong">Not for:</span> Default cPanel/Apache hosting — expect a <span class="font-semibold" data-streamdown="strong">not-detected</span> overlay on cPanel servers.

### Overview

Web admin (`:7080` link), KPIs, virtual hosts table, reload/restart/config test/backup/upgrade/LSPHP, logs.

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-"><div class="ui-scroll-area__viewport">[![OpenLitespeed-Overview.png](https://docs.serversctl.com/uploads/images/gallery/2026-06/scaled-1680-/openlitespeed-overview.png)](https://docs.serversctl.com/uploads/images/gallery/2026-06/openlitespeed-overview.png)</div></div>### Recovery Wizard

Also known as **Cross‑Member Restore**, this feature allows you to automatically take a full backup of an OpenLiteSpeed account, including SSL certificates and the database\*. The backup is stored within your **Pool API Storage**, and the **Recovery Wizard** allows you to restore that backup to a different OpenLiteSpeed server.

If you have a DNS API Key scoped for the domain, DNS records can be updated automatically during the recovery process. Simply select the appropriate API Key when using the Recovery Wizard.

\* **Database restoration requires that no additional MySQL/MariaDB password is set when accessing** `mysql` **from the command line.** If an additional password has been configured, the automated restore process cannot proceed, and the database will need to be restored manually.

### Recipes &amp; backups

<span class="font-semibold" data-streamdown="strong">Install OpenLiteSpeed</span>, <span class="font-semibold" data-streamdown="strong">Harden OpenLiteSpeed</span> on <span class="font-semibold" data-streamdown="strong">Recipes</span>. Restore on <span class="font-semibold" data-streamdown="strong">Restore Backups</span> (`backup_openlitespeed`, Pro).

## Member MariaDB

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">MariaDB</span>.  
Subtabs: Overview, Databases**

<span class="font-semibold" data-streamdown="strong">For:</span> Dedicated DB servers <span class="font-semibold" data-streamdown="strong">or</span> cPanel-managed MySQL on WHM hosts.

### Standalone database server

#### Overview

Health, KPIs, schema cards, restart, config test, flush privileges, logical backup, harden, logs.

[![MariaDB-MySQL-Overview.png](https://docs.serversctl.com/uploads/images/gallery/2026-06/scaled-1680-/mariadb-mysql-overview.png)](https://docs.serversctl.com/uploads/images/gallery/2026-06/mariadb-mysql-overview.png)

#### Databases

The **Databases** tab lists all databases discovered on the OpenLiteSpeed server. Databases are detected by scanning for common configuration files such as `wp-config.php` and parsing their contents.

Databases can be backed up individually or via cron. For a full account backup, use the **Recovery Wizard**.

[![MariaDB-MySQL-Databases.png](https://docs.serversctl.com/uploads/images/gallery/2026-06/scaled-1680-/mariadb-mysql-databases.png)](https://docs.serversctl.com/uploads/images/gallery/2026-06/mariadb-mysql-databases.png)

### cPanel-managed MySQL

If cPanel is on the same host: MariaDB tab shows a <span class="font-semibold" data-streamdown="strong">cPanel host</span> notice — use member <span class="font-semibold" data-streamdown="strong">cPanel</span> (§11) for account-level DB ops.

[![MariaDB-MySQL-cPanel.png](https://docs.serversctl.com/uploads/images/gallery/2026-06/scaled-1680-/mariadb-mysql-cpanel.png)](https://docs.serversctl.com/uploads/images/gallery/2026-06/mariadb-mysql-cpanel.png)

### Galera (`wsrep`) (In Alpha)

When Galera is enabled, the agent will report the wsrep state. <span class="font-semibold" data-streamdown="strong">ServersCTL does not</span> run quorum, SST, or writer election. <span class="font-semibold" data-streamdown="strong">DNS is active ≠ Galera primary.</span>

### Recipes &amp; backups

<span class="font-semibold" data-streamdown="strong">Install MariaDB/MySQL</span>, <span class="font-semibold" data-streamdown="strong">Harden the database</span>. Restore Backups. Advanced recipes require Pro.

[![Member-Recepies.png](https://docs.serversctl.com/uploads/images/gallery/2026-06/scaled-1680-/member-recepies.png)](https://docs.serversctl.com/uploads/images/gallery/2026-06/member-recepies.png)

## Member cPanel

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">cPanel</span>.**

<span class="font-semibold" data-streamdown="strong">For:</span> WHM servers — the most common ServersCTL hosting workload.

<span class="font-semibold" data-streamdown="strong">Inner tabs:</span> <span class="font-semibold" data-streamdown="strong">Overview</span> · <span class="font-semibold" data-streamdown="strong">Operations</span> · <span class="font-semibold" data-streamdown="strong">Accounts</span> · <span class="font-semibold" data-streamdown="strong">Migrate &amp; Recovery</span>

### Overview (inner)

DNS banner, protection topology (when account is protected), service badges, WHM audit summary.

### Operations (inner)

Restart web/mail/cPanel, config check, WHM backup, harden, WHM API status, listeners, disk, metrics.

### Accounts (inner) *(Pro)*

CRUD, suspend, terminate, backups, AutoSSL, one-time login. Free: read-only, 5 accounts cap.

### Live Migrate &amp; Recovery (inner) (Pro)

Live transfer, sessions, push copy. <span class="font-semibold" data-streamdown="strong">Bulk</span> replication and schedules: pool <span class="font-semibold" data-streamdown="strong">Protection</span> (§3), not this inner tab alone.

### WHM Binding

Full WHM API when member matches pool `host`. Run <span class="font-semibold" data-streamdown="strong">WHM link check</span> recipe after DNS connect.

## Member Status

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Status</span>.**

<span class="font-semibold" data-streamdown="strong">Purpose:</span> Read-only <span class="font-semibold" data-streamdown="strong">health and readiness</span> snapshot for this member.

### Generic Linux member

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-os-%2F"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">OS / agent</span></div></td><td><div class="md-table-cell-content">OS family, agent version (outdated warning), generic probe template</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Live stats</span></div></td><td><div class="md-table-cell-content">CPU, memory, disk from last heartbeat</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Updates</span></div></td><td><div class="md-table-cell-content">Pending package updates</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Firewall</span></div></td><td><div class="md-table-cell-content">Summary from heartbeat</div></td></tr></tbody></table>

</div></div></div></div></div></div>## Member Cron &amp; Jobs

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Cron &amp; Jobs</span>.**

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Scheduled tasks</span> on this member and visibility into recent job activity.

### What you see

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-kpi-"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">KPI row</span></div></td><td><div class="md-table-cell-content">Cron count, backup schedules, last run</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Schedules</span></div></td><td><div class="md-table-cell-content">Enable/disable, edit schedule (UTC), add from presets</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Recent jobs</span></div></td><td><div class="md-table-cell-content">Timeline of agent and worker jobs</div></td></tr></tbody></table>

</div></div></div></div></div></div>### Common presets

Stack backups (`<span class="md-inline-path-filename">backup.cpanel</span>`, `<span class="md-inline-path-filename">backup.database</span>`, etc.), `<span class="md-inline-path-filename">failover.evaluate</span>` where applicable.

## Member Restore Backups

<p class="callout info">We are developing off-site backups. We currently only backup configuration unless stated in the UI. Contact us if you have questions.</p>

<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Restore Backups</span>.

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Snapshot catalog</span> for this member — run backup, restore, delete.

### Modes

Tab adapts to detected stack: `cpanel`, `openlitespeed`, `database`, or `mixed`.

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-kpi--1"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">KPI row</span></div></td><td><div class="md-table-cell-content">Snapshot count, total size, last backup</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Calendar</span></div></td><td><div class="md-table-cell-content">Backup history</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Snapshot cards</span></div></td><td><div class="md-table-cell-content">Restore or delete individual snapshots</div></td></tr></tbody></table>

</div></div></div><span class="font-semibold" data-streamdown="strong">Pro</span> required for restore actions on stack backups.

## Member Recipes

<p class="callout info">In development - Only ever use recipes on clean servers. </p>

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Recipes</span>.**

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Guided install and harden flows</span> — one-click enqueue of multi-step agent jobs.

### Examples by stack

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-recipe-stack-install"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table style="width: 39.6429%; height: 238.172px;"><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell" style="width: 62.6506%; height: 29.7969px;">Recipe</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell" style="width: 37.3494%; height: 29.7969px;">Stack</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">Install cPanel / harden</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">cPanel</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.5938px;"><td style="width: 62.6506%; height: 29.5938px;"><div class="md-table-cell-content">Install OpenLiteSpeed / harden</div></td><td style="width: 37.3494%; height: 29.5938px;"><div class="md-table-cell-content">OLS</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">Install MariaDB / harden</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">MariaDB</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">Galera cluster (read-only)</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">MariaDB + wsrep</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">SSH hardening, agent update</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">Host</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">WHM link check</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">cPanel + DNS</div></td></tr><tr class="border-border border-b" data-streamdown="table-row" style="height: 29.7969px;"><td style="width: 62.6506%; height: 29.7969px;"><div class="md-table-cell-content">Let’s Encrypt (host or HAProxy)</div></td><td style="width: 37.3494%; height: 29.7969px;"><div class="md-table-cell-content">Host / edge</div></td></tr></tbody></table>

</div></div></div></div></div></div>## Member Monitoring

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Monitoring</span>**

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Per-member</span> alert settings.

### What you configure

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-setting-meaning-hear"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Setting</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Meaning</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content">Heartbeat miss alerts</div></td><td><div class="md-table-cell-content">Email when agent stops checking in</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content">CPU / disk / service thresholds</div></td><td><div class="md-table-cell-content">Resource alerts for this server</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content">Alert recipients</div></td><td><div class="md-table-cell-content">Account email + optional team inboxes</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content">Recovery notifications</div></td><td><div class="md-table-cell-content">Notify when member recovers</div></td></tr></tbody></table>

</div></div></div></div></div></div>## Member Settings

**<span class="font-semibold" data-streamdown="strong">Tab:</span> <span class="font-semibold" data-streamdown="strong">Settings</span>** (member tab bar).

<span class="font-semibold" data-streamdown="strong">Purpose:</span> <span class="font-semibold" data-streamdown="strong">Identity and location</span> for this enrolled server.

### What you see

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk-section-content-disp"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><table><thead class="bg-muted/80" data-streamdown="table-header"><tr class="border-border border-b" data-streamdown="table-row"><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Section</th><th class="whitespace-nowrap px-4 py-2 text-left font-semibold text-sm" data-streamdown="table-header-cell">Content</th></tr></thead><tbody class="divide-y divide-border bg-muted/40" data-streamdown="table-body"><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Display name / hostname</span></div></td><td><div class="md-table-cell-content">Must match agent JSON; `BALCTL_HOSTNAME` to override</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Allowed source IPs</span></div></td><td><div class="md-table-cell-content">Member egress IPv4 allowed to call `<span class="md-inline-path-filename">serversctl.com</span>`</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Server location</span></div></td><td><div class="md-table-cell-content">Geo for pool Overview map and Protection geo map</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Monitor settings</span></div></td><td><div class="md-table-cell-content">Member-level alert toggles (overlaps with <span class="font-semibold" data-streamdown="strong">Monitoring</span> tab)</div></td></tr><tr class="border-border border-b" data-streamdown="table-row"><td><div class="md-table-cell-content"><span class="font-semibold" data-streamdown="strong">Remove member</span></div></td><td><div class="md-table-cell-content">Detach server from pool</div></td></tr></tbody></table>

</div></div></div>WHM API keys for cPanel: prefer <span class="font-semibold" data-streamdown="strong">pool Settings</span> / <span class="font-semibold" data-streamdown="strong">Managed DNS</span> API providers; per-member WHM edit is available there.

<div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover" id="bkmrk--5"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content">  
</div></div></div>