usmannasir 4bedb9cd73 Implement real-time disk usage updates with async background processing
This commit implements an improved version of PRs #1575 and #1576 from @bdgreenweb
with critical performance optimizations.

## Background
The original PRs (#1575, #1576) proposed real-time disk usage tracking for file
manager operations. While the feature was valuable for improving user awareness of
disk quotas, there were several concerns:

1. **Performance Impact**: Original implementation used synchronous `executioner()`
   calls that would block file operations until disk calculation completed
2. **Target Branch Issues**: PRs were submitted to the stable branch instead of
   development branch, which could introduce instability
3. **Blocking Operations**: Each file operation would wait for disk usage
   recalculation, potentially causing noticeable delays

## Implementation Changes

### filemanager/filemanager.py
- Added disk usage updates to 9 file operation methods:
  - createNewFile() - After file creation
  - createNewFolder() - After folder creation
  - deleteFolderOrFile() - After deletion (both permanent and trash)
  - restore() - After restoring from trash
  - copy() - After copying files/folders
  - move() - After moving files/folders
  - upload() - After file uploads
  - extract() - After extracting archives
  - compress() - After creating archives

### plogical/IncScheduler.py
- Added CalculateAndUpdateDiskUsageDomain() function for domain-specific updates
- Added command-line argument handler for UpdateDiskUsageForceDomain
- Calculates disk usage for websites, email accounts, and bandwidth

## Key Improvements Over Original PRs

1. **Asynchronous Execution**: Uses `popenExecutioner()` instead of `executioner()`
   - File operations return immediately without waiting
   - Disk usage updates happen in background threads
   - Zero performance impact on user operations

2. **Selective Updates**: Only updates the specific domain affected by the operation
   rather than all domains system-wide

3. **Proper Branch Targeting**: Applied to development branch (v2.5.5-dev) for
   proper testing before stable release

## Benefits
- Real-time disk usage tracking as requested
- No performance degradation
- Users immediately aware of quota usage
- Prevents accidental quota violations
- Better than competitors (cPanel/DirectAdmin) in responsiveness

## Acknowledgments
Thank you @bdgreenweb for the original implementation idea and PRs #1575/#1576.
While we couldn't merge them directly due to the performance and stability concerns
mentioned above, your contribution highlighted an important feature gap. This
implementation preserves your core functionality while addressing the performance
concerns through asynchronous execution.

This will definitely help organizations track disk usage more effectively without
sacrificing file manager performance.
2025-10-08 13:40:16 +05:00
2025-10-01 11:46:58 +05:00
2025-08-05 01:47:22 +05:00
2025-08-01 14:56:30 +05:00
2025-09-30 00:12:48 +05:00
2025-09-30 15:56:12 +05:00
2025-09-01 13:11:42 +05:00
2025-08-29 23:07:30 +05:00
2025-09-08 11:50:35 +02:00
2025-09-30 12:31:09 +05:00
2025-09-08 11:50:35 +02:00
2025-08-01 14:56:30 +05:00
2025-09-08 11:50:35 +02:00
2025-09-08 16:48:38 +02:00
2025-08-05 03:04:38 +05:00
2025-08-01 14:56:30 +05:00
2025-09-08 11:50:35 +02:00
2025-09-07 22:57:53 +02:00
2025-09-30 15:56:12 +05:00
2025-09-30 15:56:12 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-09-27 11:41:16 +05:00
2025-08-01 14:56:30 +05:00

CyberPanel Logo

CyberPanel

Web Hosting Control Panel powered by OpenLiteSpeed Fast • Secure • Scalable — Simplify hosting management with style.

Version: 2.5.5 • Updated: September 24, 2025

GitHub Docs Forum Discord YouTube


Key highlights

  • Performance first — OpenLiteSpeed + HTTP/3 + LSCache
  • 🔒 Security by default — Auto SSL, FirewallD integration, 2FA, brute-force protection
  • 📧 Integrated mail — Postfix, Dovecot, SnappyMail
  • 🗂 Backups & restore — One-click snapshots and rollbacks
  • 👨‍💻 Developer friendly — Git manager, REST API, staging, PHP version switcher

Features

Security

  • Auto SSL (Let's Encrypt)
  • Firewall integrations (FirewallD, optional CSF export)
  • 2FA (TOTP + WebAuthn/Passkey)
  • AI-powered security scanner (optional)

Hosting & Websites

  • OpenLiteSpeed (HTTP/3, QUIC)
  • One-click WordPress (LSCache-ready)
  • PHP per-site version selector
  • File manager, FTP, SFTP

Email & DNS

  • Postfix + Dovecot
  • SnappyMail webmail
  • DNS (PowerDNS) with easy zone management

Developer & Automation

  • RESTful API (create/list/manage sites, users, packages)
  • Git integration & staging
  • Docker command execution support

Backups & Storage

  • Local snapshots, remote backups (S3/AWS compatible)
  • One-click restore and scheduled backups


Supported platforms (condensed)

OS family Recommended / Supported
Ubuntu 24.04, 22.04, 20.04 Recommended
Debian 13, 12, 11 Supported
AlmaLinux 10, 9, 8 Supported
RockyLinux 9, 8 Supported
RHEL 9, 8 Supported
CloudLinux 9, 8 Supported
CentOS 7 ⚠️ Legacy — EOL

CyberPanel targets x86_64 only. Test the unsupported OS in staging first.


PHP support (short)

  • Recommended: PHP 8.5 (beta), 8.4, 8.3, 8.2, 8.1
  • ⚠️ Legacy: PHP 8.0, PHP 7.4 (security-only)
  • Deprecated: PHP 7.1, 7.2, 7.3 (no longer installed)

Third-party repositories (Remi, Ondrej) may provide older or niche versions; verify compatibility before use.


Quick install

sh <(curl -s https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)

➡️ See guides/INSTALLATION.md for platform-specific options and non-interactive installs.


sh <(curl -s https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)

Post-upgrade checklist: verify email, DNS, SSL, and run a smoke test on key sites.


Troubleshooting (common)

Command not found — install curl/wget/git/python3

# Ubuntu/Debian
sudo apt update && sudo apt install -y curl wget git python3

# RHEL/CentOS/Alma/Rocky
sudo yum install -y curl wget git python3

Port 8090 in use — find and stop conflicting process:

sudo ss -tlnp | grep :8090
sudo kill -9 <PID>

Logs & verification

systemctl status lscpd
curl -I http://localhost:8090
tail -f /usr/local/lscp/logs/error.log
journalctl -u lscpd -f

Resources


💡 Hosting should be secure, simple, and fast. CyberPanel is built for that.

Description
Cyber Panel - The hosting control panel for OpenLiteSpeed
Readme GPL-3.0 956 MiB
Languages
JavaScript 74.7%
HTML 9.1%
Python 8.8%
CSS 5.9%
Shell 0.9%
Other 0.6%