Skip to content
This repository was archived by the owner on Oct 17, 2026. It is now read-only.
ibrahimarchivePublic archive

About

Lightweight But Powerful web-based Control Panel

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HyperPanel

A modern, fast, and minimalistic server control panel built with FastAPI (Python 3.11+) and a lightweight vanilla HTML/CSS/JS SPA frontend.

Version Python FastAPI License OS


⚑ 1-Command Installation

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 bash

Or using wget:

wget -qO- https://raw.githubusercontent.com/ibrahimarchive/hyperpanel/main/install.sh | sudo bash

Note

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

What the 1-Command Installer Does Automatically:

  1. Installs Nginx, MySQL Server, Python 3 + venv, Certbot, UFW, PHP-FPM, and core build tools.
  2. Creates an isolated hyperpanel system user with passwordless sudo privileges for system services.
  3. Clones the repository to /opt/hyperpanel and sets up a dedicated Python virtual environment.
  4. Generates a secure cryptographic secret key in .env.
  5. Pre-initializes the database and provisions the default administrator account.
  6. Sets up and enables the hyperpanel systemd service (systemctl enable --now hyperpanel).
  7. Configures UFW firewall rules for SSH (22), HTTP (80), HTTPS (443), and HyperPanel (8443).
  8. Prints your server IP and login credentials.

πŸ”‘ Accessing the Panel

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).


πŸ’‘ Lightweight & Modular Architecture

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.

✨ Features

🌐 Core Web & Database Hosting

  • πŸ“Š 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.php salt generation, and Nginx PHP-FPM fastcgi vhost setup.
  • πŸ—„οΈ Database Management & Adminer β€” Full MySQL/MariaDB database and user CRUD with privilege grants, 1-click .sql dump 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.

🧩 Modular & Optional Add-ons

  • 🐳 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.

πŸ›‘οΈ Security, DevTools & Operations

  • 🌐 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, and client roles.
  • 🎨 Dark / Light Mode β€” Modern design system with smooth theme transitions.
  • ⌨️ Command Palette β€” Press Ctrl + K to quickly search and navigate across modules.

πŸ› οΈ Alternative Installation Methods

Option A: From a Cloned Repository

git clone https://github.com/ibrahimarchive/hyperpanel.git
cd hyperpanel
sudo bash install.sh

Option B: Local Development Setup (Windows / Linux / macOS)

To 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.main

The frontend SPA and backend API are both served at http://localhost:8443.


πŸš€ Service Management Commands

# 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 -f

πŸ”„ Updating HyperPanel

HyperPanel uses an official GitHub Release-based update system so that regular repository commits or work-in-progress code never trigger unwanted updates.

Option 1: One-Click Update via Control Panel (Recommended)

  1. Go to Settings in the HyperPanel dashboard.
  2. Under System Updates, click Check for Updates.
  3. When an official release is available, review the release notes and click Update to Latest Release.
  4. The panel updates itself in the background and automatically reloads when the service restarts.

Option 2: Command-Line Updater

Run the included update script on your server:

sudo bash /opt/hyperpanel/update.sh

To pin to a specific release tag:

sudo bash /opt/hyperpanel/update.sh v1.0.1

πŸ“ Project Structure

hyperpanel/
β”œβ”€β”€ 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

πŸ“„ License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

About

Lightweight But Powerful web-based Control Panel

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages