Next-generation hosting management panel for Ubuntu 22.04
A production-ready, lightweight hosting control panel designed to run smoothly on 2-4GB RAM servers.
- Website & App Management - Create and manage PHP, Node.js, and Python applications
- Multi-PHP Support - PHP 7.4, 8.0, 8.1, 8.2 with easy version switching
- Database Management - MariaDB database and user management
- Domain & SSL - Let's Encrypt SSL certificates with auto-renewal
- File Manager - Browser-based file management
- Backups & Restore - Scheduled backups with one-click restore
- Git Integration - Clone, pull, push, and manage repositories
- Monitoring Dashboard - Real-time system stats (CPU, RAM, Disk, Traffic)
- Log Viewer - Search and stream logs in real-time
- Two-Factor Authentication - TOTP-based 2FA for admin security
- IP Blocking & Fail2ban - Security and DDoS protection
- One-Click Apps - WordPress, Ghost, Django, Laravel, Express.js
- FTP/SFTP Server - Secure file transfer
- Redis Cache - Per-site Redis instances
- Webhook Manager - Automated deployment hooks
- Email Management - Postfix email accounts and forwarding
- Staging Environments - Clone production to staging
- OS: Ubuntu 20.04 or 22.04 LTS
- RAM: Minimum 2GB (4GB recommended)
- Disk: Minimum 10GB free space
- Root Access: Required for installation
curl -sSL https://raw.githubusercontent.com/yourusername/nexpanel/main/install.sh | sudo bashThe installer will:
- ✅ Validate system requirements
- ✅ Install all dependencies (Nginx, PHP-FPM, Node.js, Python, MariaDB, Redis)
- ✅ Configure services with production defaults
- ✅ Set up firewall (UFW)
- ✅ Create admin account
- ✅ Display login credentials
# Clone repository
git clone https://github.com/yourusername/nexpanel.git
cd nexpanel
# Install dependencies
npm install
# Create data directory
mkdir -p data
# Start the panel
npm start-
Access the Panel
http://YOUR_SERVER_IP:8080 -
Login
- Username:
admin - Password: (provided after installation)
- Username:
-
Create Your First Website
- Go to "Websites" → "Create New"
- Choose runtime (PHP/Node.js/Python)
- Enter domain name
- Click "Create"
-
Issue SSL Certificate
- Go to "SSL Certificates"
- Select your domain
- Click "Issue Certificate"
- Session-based Authentication with secure cookies
- Rate Limiting on login attempts
- Two-Factor Authentication (TOTP)
- Fail2ban Integration for brute-force protection
- IP Whitelisting/Blacklisting
- Automatic Security Updates
- File Permission Isolation per website
- Audit Logging for all admin actions
# Panel service
systemctl status nexpanel
systemctl restart nexpanel
systemctl stop nexpanel
# View logs
journalctl -u nexpanel -fThe panel enforces strict resource limits:
- Panel RAM usage: ≤500-600MB
- Idle apps auto-stopped after 10 minutes
- PHP-FPM: max 5 children per pool
- Node.js apps: max 256MB memory
- Aggressive log rotation
- Backend: Node.js 18 LTS with Fastify
- Frontend: Server-rendered EJS templates
- Database: MariaDB + SQLite
- Web Server: Nginx
- Process Manager: PM2
- Security: Helmet, Rate Limiting, CSRF Protection
Optimized for 2-4GB RAM servers:
- ✅ Lightweight monitoring (no heavy agents)
- ✅ Minimal background processes
- ✅ Efficient database queries
- ✅ Compressed logs
- ✅ Resource-aware process management
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT License - see LICENSE file for details
- Issues: GitHub Issues
- Documentation: Wiki
Built with ❤️ for the hosting community.
NexPanel - Next-generation hosting management made simple.
Note: This panel is designed for production use but always test in a staging environment first!