#!/usr/bin/env bash
# system/disk -- where the space went, by site and by directory
set -o pipefail
SELF=$(readlink -f "${BASH_SOURCE[0]}")
NV_BASE=$(cd "$(dirname "$SELF")/../../.." && pwd)
export NV_BASE
# shellcheck source=/dev/null
. "$NV_BASE/lib/core/bootstrap.sh"

nv_require_root || exit 1
ui_header "$(t sys_m_disk)"

ui_section "$(t sys_disk_overview)"
df -hP / /var /home 2>/dev/null | awk 'NR==1 || !seen[$6]++' | sed 's/^/  /'

ui_section "$(t sys_disk_sites)"
if [ "$(nv_site_count)" -eq 0 ]; then
    ui_info "$(t site_none)"
else
    printf '  %-34s %s\n' "$(t col_domain)" "$(t col_size)"
    for domain in $(nv_site_list); do
        printf '  %-34s %s\n' "$domain" "$(site_disk_usage "$domain")"
    done
fi

ui_section "$(t sys_disk_dirs)"
du -sh /var/log /var/backups/nhanhvps /var/lib/nhanhvps /etc/letsencrypt 2>/dev/null \
    | sort -rh | sed 's/^/  /'

ui_section "$(t sys_disk_biggest)"
du -h --max-depth=1 /home 2>/dev/null | sort -rh | head -n 8 | sed 's/^/  /'
ui_blank
exit 0
