Files
nodeinfo/templates/index.html.tera

115 lines
4.3 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>XMR Node Info</title>
<style>
.infocards {
display: flex;
flex-wrap: wrap;
}
.infocard {
margin: 20px;
}
p.subheading {
font-size: 80%;
}
p.restart {
font-weight: bold;
color: red;
}
span.success {
font-weight: bold;
color: green;
}
.warning {
color: yellow;
.node_data {
font-family: monospace, monospace;
}
</style>
</head>
<body>
<h1>Node Device Info</h1>
<div class="infocards">
<div class="infocard">
<h2>Sys Info</h2>
<p>Hostname: <span class="node_data">{{ system.hostname }}</span></p>
<p>Uptime: <span class="node_data">{{ system.uptime }}</span></p>
<p>OS: <span class="node_data">{{ system.operating_system }}</span></p>
<p>Average Load: <span class="node_data">{{ system.average_load.0 }} {{ system.average_load.1 }} {{ system.average_load.2 }}</span></p>
{% if system.restart_needed %}
<p class="restart">RESTART NEEDED</p>
{% endif %}
</div>
<div class="infocard">
<h2>HDD Info</h2>
{% for disk in system.disks %}
<h3 class="node_data">{{disk.name}}</h3>
<p class="subheading">Mounted at: <span class="node_data">{{disk.mount_point}}</span></p>
<p><span class="node_data">{{disk.available_space}}</span> of <span class="node_data">{{disk.total_space}}</span> available</p>
<progress class="diskspace" max="{{disk.total_space_bytes}}" value="{{disk.available_space_bytes}}"></progress>
{% if not loop.last %}
<hr>
{% endif %}
{% endfor %}
</div>
<div class="infocard">
<h2>Temperatures</h2>
{% for comp in system.components %}
<p class="temperature"><span class="node_data">{{ comp.name }}</span> - <span class="node_data">{{ comp.temperature }}°C</span></p>
{% if not loop.last %}
<hr>
{% endif %}
{% endfor %}
</div>
<div class="infocard">
<h2>RAM</h2>
<p><span class="node_data">{{ system.ram.used_memory }}</span> of <span class="node_data">{{ system.ram.total_memory }}</span> RAM current in use</p>
<p><span class="node_data">{{ system.ram.used_swap }}</span> of <span class="node_data">{{ system.ram.total_swap }}</span> swap currently in use</p>
</div>
<div class="infocard">
<h2>Network Interfaces</h2>
{% for network_if in system.network_ifs %}
<h3 class="node_data">{{ network_if.name }}</h3>
<p>Total Sent: <span class="node_data">{{ network_if.total_sent }}</span></p>
<p>Total Received: <span class="node_data">{{ network_if.total_received }}</span></p>
{% endfor %}
<p>
</div>
<h1>Monerod Status</h1>
<div class="monerodstatus">
<div class="monerodinfocard">
{% if node_info.synchronized %}
<p><span class="success">Synchronised</span> to {{ node_info.nettype }}</p>
{% else %}
<p><span class="warning">Synchronising</span> to {{ node_info.nettype }}</p>
{% endif %}
<p> Running version {{ node_info.version }}
{% if node_info.update_available %}
<p class="warning">Which can be updated</p>
{% endif %}
</div>
<div class="monerodinfocard">
<p>Txs in pool: <span>{{ node_info.tx_pool_size }}</span></p>
<p>Total Txs: <span>{{ node_info.tx_count }}</span></p>
</div>
<div class="moneroinfocard">
<p>Incoming Connections: <span>{{ node_info.incoming_connections_count }}</span></p>
<p>Outgoing Connections: <span>{{ node_info.outgoing_connections_count }}</span></p>
<p>RPC Connections: <span>{{ node_info.rpc_connections_count }}</span></p>
</div>
<div class="moneroinfocard">
<p>Blockheight: <span>{{ node_info.height }}</span></p>
<p>Latest block hash: <span>{{ node_info.top_block_hash }}</span></p>
</div>
</div>
<h1>Node Peers</h1>
<div class="nodelist">
</div>
{{__tera_context}}
</body>
</html>