Status
Live dashboard for core services on the host: state, CPU, RAM, and uptime, with one-click controls (start/stop/restart/reload). Access: root.
What it shows
- Status — Active / Inactive / Failed / Not installed (from 
systemctl). - CPU / RAM — point-in-time % for the unit’s MainPID (via 
ps). - Uptime — time since the unit entered the “active” state (derived from 
ActiveEnterTimestamp). 
How services are discovered
- Reads 
services.yamland builds a list of enabled components. - Special cases:
    
- nginxapache: install=on → adds both apache and nginx.
 - database → adds mariadb, and phpmyadmin if enabled.
 - filetransfer → adds ftp plus helper daemons pure-certd and pure-authd; adds sftp if enabled.
 - mail → adds mail (Exim), dovecot, spamassassin, and roundcube if enabled.
 - Per-user PHP pools are intentionally omitted.
 
 
Unit mapping
  Friendly names are mapped to systemd units, e.g. apache→httpd, nginx→nginx,
  mariadb→mariadb, ftp→pure-ftpd, mail→exim, etc.
Controls & refresh
- Per-row actions: Start, Stop, Restart, Reload. Each runs 
systemctl <cmd> <unit>and then refreshes that row. - Refresh status (row) — re-polls a single service.
 - Refresh all — reloads the full table.
 - Badges: green = Active, red = Inactive/Failed, gray = Not installed, amber = other states.
 
How status is computed
- Installed? 
systemctl list-unit-files …for the mapped unit. - State: 
systemctl is-active. - Main PID: 
systemctl show -p MainPID→ps -p <pid> -o %cpu=,%mem=. - Uptime: 
systemctl show -p ActiveEnterTimestamp→ human-readable elapsed time. 
Notes & tips
- “Not installed” can also mean “no unit file present for the mapped name.”
 - CPU/RAM reflect the main process only; auxiliary workers are not summed.
 - Some stacks run multiple units (e.g., FTP helpers); each is tracked individually.
 
  Safety: These actions control production daemons. Use Restart/Reload during maintenance windows when possible.