A modern, fast, and minimalistic server control panel built with FastAPI (Python 3.11+) and a lightweight vanilla HTML/CSS/JS SPA frontend.
Run this single command on your clean Ubuntu (22.04 / 24.04) or Debian (11 / 12) server:
curl -fsSL https://raw.githubusercontent.com/ibrahimarchive/hyperpanel/main/install.sh | sudo bashOr using wget:
wget -qO- https://raw.githubusercontent.com/ibrahimarchive/hyperpanel/main/install.sh | sudo bashNote
If you have forked or cloned this repository under your own account, set REPO_URL:
REPO_URL="https://github.com/<your-username>/hyperpanel.git" curl -fsSL https://raw.githubusercontent.com/<your-username>/hyperpanel/main/install.sh | sudo -E bash- Installs Nginx, MySQL Server, Python 3 + venv, Certbot, UFW, PHP-FPM, and core build tools.
- Creates an isolated
hyperpanelsystem user with passwordlesssudoprivileges for system services. - Clones the repository to
/opt/hyperpaneland sets up a dedicated Python virtual environment. - Generates a secure cryptographic secret key in
.env. - Pre-initializes the database and provisions the default administrator account.
- Sets up and enables the
hyperpanelsystemd service (systemctl enable --now hyperpanel). - Configures UFW firewall rules for SSH (22), HTTP (80), HTTPS (443), and HyperPanel (8443).
- Prints your server IP and login credentials.
Once installation completes, open your browser and navigate to:
http://<your-server-ip>:8443
- Default Username:
admin - Default Password:
changeme
Important
Change the default password immediately after signing in from the User Management or Settings tab, and enable Two-Factor Authentication (2FA).
HyperPanel is engineered to be exceptionally fast and lean. Unlike legacy monolithic control panels that load dozens of background daemons by default, HyperPanel starts with a minimal footprint (~50MB RAM).
Services such as Docker Engine, BillionMail (Mail Server), Pure-FTPd (FTP Server), and Adminer (Web GUI) are 100% optional on-demand modules:
- Zero background footprint: No background daemon runs until you explicitly install it from the panel.
- One-Click Installation: Install Docker, BillionMail, Pure-FTPd, or Adminer directly from their dedicated panel pages with automated configuration.
- One-Click Uninstallation: Cleanly remove any add-on at any time to return your server to its minimal footprint.
- π Dashboard β Real-time CPU, RAM, disk usage, and network bandwidth streaming.
- π Website Management β Nginx virtual hosts for PHP (multiple versions), Node.js, Python apps, and static HTML.
- π 1-Click WordPress Deployer β Automated WordPress core download, database provisioning, cryptographically secure
wp-config.phpsalt generation, and Nginx PHP-FPM fastcgi vhost setup. - ποΈ Database Management & Adminer β Full MySQL/MariaDB database and user CRUD with privilege grants, 1-click
.sqldump export & file import, and optional lightweight single-file Adminer Web GUI. - π Domain & DNS Manager β Manage primary domains, subdomains, document roots, and DNS records (A, AAAA, CNAME, MX, TXT, SRV).
- π SSL/TLS Certificates β Automated Let's Encrypt certificate issuance and automatic renewal.
- π File Manager β Web-based explorer to browse, edit, upload, download, and extract archives.
- π³ Docker Management (Optional) β Container lifecycle (create, start, stop, restart, delete, live logs), Docker image management (pull, remove), and 1-click Docker Engine install/uninstall.
- π§ Mail Server via BillionMail (Optional) β Enterprise email stack (Postfix SMTP, Dovecot IMAP/POP3, Rspamd spam filter, Roundcube Webmail) and email marketing campaign suite with DNS guidance (SPF, DKIM, DMARC, MX) and 1-click install/uninstall.
- π FTP Accounts via Pure-FTPd (Optional) β Ultra-lightweight (<10MB RAM) virtual FTP/FTPS server with PureDB encrypted users, secure chroot directory jailing, passive port range (30000β30050), and quota limits.
- ποΈ Adminer Database Web GUI (Optional) β Fast, ultra-lightweight (<1MB) single-file PHP database management interface with zero background processes.
- π Panel Network & Access β Bind panel to custom domain or IP, configure custom listening port (
1024β65535) with automated firewall synchronization. - π‘οΈ Panel SSL β HTTPS encryption for the control panel with 10-year certificate generator, custom PEM CRT/KEY import, validity period tracking, and issuer monitoring.
- π Authentication & Security β Manage panel administrator username and password directly with integrated Two-Factor Authentication (2FA / TOTP).
- π Two-Factor Authentication (2FA / TOTP) β RFC 6238 time-based one-time password security for user accounts, QR code onboarding, and login challenge protection.
- π» Web Terminal β Secure in-browser root shell access powered by xterm.js via WebSocket PTY connection.
- π‘οΈ Firewall (UFW) β View active rules, open/close ports, and toggle firewall status with one click.
- π« Fail2Ban Integration β Intrusion detection, jail status, and IP ban/unban management.
- β° Cron Jobs β Visual crontab management, schedule presets, and job execution controls.
- πΎ Backup & Restore β Per-site and full server backup archives with remote export and restore.
- βοΈ Service Manager β Start, stop, restart, and monitor systemd services (Nginx, MySQL, PHP-FPM, Pure-FTPd, Redis, etc.).
- π Process Manager & Log Viewer β Live process monitoring, kill signals, and searchable log viewer for system and services.
- π Audit & Activity Logs β Complete security trail of panel actions and logins.
- π₯ User Management & RBAC β Multi-user support with
admin,reseller, andclientroles. - π¨ Dark / Light Mode β Modern design system with smooth theme transitions.
- β¨οΈ Command Palette β Press Ctrl + K to quickly search and navigate across modules.
git clone https://github.com/ibrahimarchive/hyperpanel.git
cd hyperpanel
sudo bash install.shTo run the panel locally for development:
# 1. Navigate to backend
cd backend
# 2. Create and activate a virtual environment
python -m venv venv
# Linux / macOS:
source venv/bin/activate
# Windows (PowerShell):
.\venv\Scripts\Activate.ps1
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure environment
cp .env.example .env
# 5. Start the FastAPI server (serves both API and frontend SPA)
python -m app.mainThe frontend SPA and backend API are both served at http://localhost:8443.
# Check status
sudo systemctl status hyperpanel
# Restart panel
sudo systemctl restart hyperpanel
# Stop panel
sudo systemctl stop hyperpanel
# View live systemd logs
sudo journalctl -u hyperpanel -fHyperPanel uses an official GitHub Release-based update system so that regular repository commits or work-in-progress code never trigger unwanted updates.
- Go to Settings in the HyperPanel dashboard.
- Under System Updates, click Check for Updates.
- When an official release is available, review the release notes and click Update to Latest Release.
- The panel updates itself in the background and automatically reloads when the service restarts.
Run the included update script on your server:
sudo bash /opt/hyperpanel/update.shTo pin to a specific release tag:
sudo bash /opt/hyperpanel/update.sh v1.0.1hyperpanel/
βββ backend/
β βββ app/
β β βββ models/ # SQLAlchemy ORM models (User, Website, Domain, FTPAccount, etc.)
β β βββ schemas/ # Pydantic schemas for request/response validation
β β βββ services/ # Core & modular logic (Nginx, MySQL, Docker, WordPress, TOTP, etc.)
β β βββ routers/ # FastAPI route controllers (Websites, DB, Docker, Email, FTP, Auth, etc.)
β β βββ middleware/ # JWT authentication and RBAC middleware
β β βββ utils/ # Subprocess wrappers, validators, templates
β βββ templates/ # Jinja2 templates for Nginx vhost configs
β βββ requirements.txt # Python dependencies (FastAPI, uvicorn, qrcode, pillow, etc.)
β βββ .env.example # Environment variable template
β βββ hyperpanel.db # SQLite database (auto-generated)
βββ frontend/ # Vanilla Single Page Application (SPA)
β βββ css/ # Modular CSS design system (variables, components, pages)
β βββ js/ # Modular vanilla JS (router, API client)
β β βββ pages/ # Individual view controllers (dashboard, terminal, websites, databases, etc.)
β βββ assets/ # SVGs, icons, and logos
β βββ index.html # Login view with 2FA TOTP prompt
β βββ dashboard.html # Main panel dashboard & view container
βββ .gitattributes # Line-ending normalization (LF for shell scripts)
βββ .gitignore # Clean ignore patterns (venv, .env, *.db, pycache, plan/)
βββ install.sh # 1-command automated installer script
βββ update.sh # Official release self-updater script
βββ LICENSE # GNU GPL-3.0 License
βββ README.md # Documentation
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).