J.Wick
Regular Pleskian
Problem
When hosting modern PHP applications (such as Mautic, Laravel, Symfony, or Composer-based projects) as Plesk subdomains, the current backup system creates a critical gap in disaster recovery capabilities.Current Behavior:
- Plesk subdomain backups only include the document root directory (e.g., /var/www/vhosts/example.com/subdomains/app/httpdocs or docroot)
- Modern applications follow best practices by placing critical files outsidethe web-accessible directory for security:
/bin/ - CLI executables and console commands- /config/ - Application configuration
- /vendor/ - Composer dependencies (often 50-200MB)
/var/ - Application cache, logs, and runtime data- Root-level files: composer.json, composer.lock, .env, package management files
- Composer dependencies are missing (/vendor/)
- Configuration files are absent (/config/, .env)
- CLI tools are unavailable (/bin/console)
- Package manifests are lost (composer.json, package.json)
Proposed Solution
Add a backup scope selector for subdomain subscriptions with two options:Option 1: Document Root Only (Current Default)
- Backs up only /httpdocs or /docroot
- Suitable for simple HTML/PHP sites
- Maintains current behavior for backward compatibility
- Backs up the entire subdomain parent directory
- Includes all sibling directories to the document root
- Excludes only Plesk-managed directories (logs/, statistics/, etc.)
- Allows optional exclusion patterns (e.g., node_modules/, var/cache/)
Implementation Suggestions
UI Location:- Add checkbox in Backup Manager: "☐ Include full application directory (not just document root)"
- Add option in scheduled backup configuration
- Include in CLI: plesk bin pleskbackup --domains-name example.com --full-directory
- Keep current behavior as default (document root only) for backward compatibility
- Show informational tooltip explaining the difference
bash
plesk bin pleskbackup --domains-name app.example.com --full-directory \
-exclude-pattern "node_modules/*,var/cache/*,var/tmp/*"
Benefits
For Hosting Providers:- Competitive Advantage - Support modern application frameworks out-of-the-box
- Reduced Support Tickets - Fewer "my backup doesn't work" complaints
- Customer Retention - Developers won't migrate to Docker/VPS solutions for proper backups
- Market Alignment - Competitors (cPanel, DirectAdmin) face the same issue; be first to solve it
- True Disaster Recovery - One-click restore that actually works
- Time Savings - No manual reconstruction of application dependencies
- Confidence - Backups that match modern development practices
- Flexibility - Choose the right backup scope for each application type
- Modern Framework Support - Aligns with Laravel, Symfony, Mautic, Magento, and other Composer-based applications
- Best Practices Compliance - Supports the security practice of keeping sensitive files outside document root
- Minimal Development Effort - Extends existing backup logic rather than creating new systems
- No Breaking Changes - Opt-in feature maintains full backward compatibility
Use Cases
- Laravel/Symfony Applications - Require /vendor/, /config/,
/bin/, .env - Mautic Marketing Automation - Needs /vendor/, /bin/console, composer.json
- Magento E-commerce - Requires complete directory structure
- Custom Business Applications - Any Composer-managed project
- Node.js Applications - Need package.json, node_modules/, configuration files
Current Workarounds (and Why They're Inadequate)
Users currently resort to:- Manual cron scripts copying files into docroot/ before backup - fragile, doubles storage
- Separate backup solutions - defeats Plesk's value proposition
- Avoiding Plesk for modern apps - lost revenue opportunity
- Restructuring applications - breaks framework conventions, creates security risks
Conclusion
This enhancement bridges the gap between Plesk's traditional hosting model and modern application architecture. It's a natural evolution that acknowledges how PHP applications are built today while maintaining full backward compatibility.Expected Outcome: Plesk becomes the preferred hosting control panel for modern PHP frameworks, reducing churn and attracting developers who currently view Plesk as unsuitable for Composer-based applications.
Priority: Medium-High
Complexity: Low (extends existing backup logic)
Breaking Changes: None (opt-in feature)
Target Users: Developers, agencies, SaaS providers using modern PHP frameworks