{% extends "baseTemplate/index.html" %} {% load static %} {% comment %} ============================================================================== CloudPanel — dashboard ------------------------------------------------------------------------------ Rendered by the baseTemplate dashboard view at URL "/". Context variables (all optional — every one has a safe default so the page renders before the backend wires them up): websitesCount databasesCount emailsCount ftpCount int websitesLimit databasesLimit int | "" (package quota) cpuPercent ramPercent diskPercent number 0-100 ramUsedBytes ramTotalBytes int diskUsedBytes diskTotalBytes int cpuHistory ramHistory list[number] (oldest first) historyLabels list[str] services list of {name, label, state, detail} state in: up | down | warn | unknown recentActivity list of {timestamp, user, action, target, level} level in: success | warning | danger | info serverInfo {hostname, os, kernel, uptime, load, ols, python, mariadb} Live refresh: the top-bar poller broadcasts "cp:resources" with the payload of /serverstatus/resourceStatus; this page listens and feeds the chart from it. ============================================================================== {% endcomment %} {% block title %}Dashboard{% endblock %} {% block content %}

Dashboard

{{ CLOUDPANEL.PANEL_NAME|default:"CloudPanel" }} on {{ serverInfo.hostname|default:CLOUDPANEL.PANEL_DOMAIN|default:"cp.a1hosting.net" }} · {{ serverInfo.os|default:"Ubuntu 26.04 LTS" }} · uptime {{ serverInfo.uptime|default:"unknown" }}

{% if currentACL.admin or currentACL.createWebsite %} Create Website {% endif %} {% if currentACL.admin %} Services {% endif %}
{# ---------------------------------------------------------------- stats #}
{{ websitesCount|default:0 }} Websites {% if websitesLimit %}of {{ websitesLimit }} allowed{% endif %} {{ databasesCount|default:0 }} Databases {% if databasesLimit %}of {{ databasesLimit }} allowed{% endif %} {{ emailsCount|default:0 }} Email Accounts {{ ftpCount|default:0 }} FTP Accounts
{# ------------------------------------------------------- CPU / RAM #}

CPU & Memory

Live, sampled every 5 seconds

CPU RAM
{# ----------------------------------------------------------- disk #}

Storage & Memory

Root filesystem and RAM allocation

Disk {% if diskUsedBytes %}{{ diskUsedBytes|filesizeformat }} / {{ diskTotalBytes|filesizeformat }}{% else %}{{ diskPercent|default:0 }}%{% endif %}
Memory {% if ramUsedBytes %}{{ ramUsedBytes|filesizeformat }} / {{ ramTotalBytes|filesizeformat }}{% else %}{{ ramPercent|default:0 }}%{% endif %}
CPU {{ cpuPercent|default:0 }}%

Load average {{ serverInfo.load|default:"—" }}
Kernel {{ serverInfo.kernel|default:"—" }}
OpenLiteSpeed {{ serverInfo.ols|default:"—" }}
MariaDB {{ serverInfo.mariadb|default:"—" }}
Python {{ serverInfo.python|default:"—" }}
{# -------------------------------------------------------- service grid #}

Service Health

systemd units backing the panel

{% if currentACL.admin %} Manage {% endif %}
{% for service in services %}

{{ service.label|default:service.name }}

{{ service.detail|default:service.state|default:"unknown" }}

{% empty %}

OpenLiteSpeed

awaiting status

MariaDB

awaiting status

PowerDNS

awaiting status

Postfix

awaiting status

Dovecot

awaiting status

Pure-FTPd

awaiting status

Redis

awaiting status

CloudPanel Daemon

awaiting status

{% endfor %}
{# ----------------------------------------------------- recent activity #}

Recent Activity

Last actions recorded by the panel

{% for item in recentActivity %} {% empty %} {% endfor %}
When User Action Target Result
{{ item.timestamp }} {{ item.user|default:"system" }} {{ item.action }} {{ item.target|default:"—" }} {{ item.level|default:"info"|capfirst }}

No activity recorded yet

Actions performed through the panel will appear here.

{{ cpuHistory|json_script:"cpCpuHistory" }} {{ ramHistory|json_script:"cpRamHistory" }} {{ historyLabels|json_script:"cpHistoryLabels" }} {% endblock %} {% block scripts %} {% endblock %}