Skip to content

laalaalaee/database-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Advanced Database Manager for Pelican Panel

Pelican Version PHP Version License


Advanced Database Manager Showcase


Add a beautiful live database size column and handy client-facing SQL backup, download, restore, and delete actions directly to the server database page in Pelican Panel.


✨ Features

  • 📊 Live Database Size: See your database storage footprint in real-time inside your database list.
  • 🚀 High Performance: Features a built-in 60-second database size cache, ensuring absolutely zero panel lag or InnoDB locking.
  • 💾 One-Click Client Backups: Clients can instantly create, download, restore, or delete backups with absolute ease.
  • 🧹 Automated Retention: Self-cleaning safety system. Only 10 backups will remain per database, and the older ones keep getting deleted automatically as new ones are created.
  • 🛡️ Zero Core Bloat: Installs as a completely self-contained, isolated plugin that doesn't modify a single Pelican core file.

🛠️ Requirements

  • mysqldump and mysql binaries available on the Panel host.
  • Panel host can connect to the configured database hosts.

🚀 Installation

You can install this plugin directly from your Pelican panel's built-in Plugin Manager.

If you prefer to install it manually:

  1. Go to the Releases page.
  2. Download the database-tools.zip asset (do not download the raw "Source code" zip!).
  3. Extract the contents and upload the database-tools folder to your panel's plugins/database-tools directory.
  4. Run the following commands inside your panel's root directory:
cd /var/www/pelican
php artisan migrate --path=plugins/database-tools/database/migrations --force
php artisan optimize:clear

⚙️ Configuration

To customize the plugin's behavior, you can optionally append these keys to your Pelican .env file at /var/www/pelican/.env:

Key Default Description
DATABASE_TOOLS_DISK local Storage disk (maps to storage/app/private/ by default).
DATABASE_TOOLS_PATH database-backups Subdirectory where backups are saved.
DATABASE_TOOLS_SIZE_CACHE 60 Cache duration (seconds) for database sizes.
DATABASE_TOOLS_RETENTION 10 Automatic retention limit (only 10 remain and the old ones keep getting deleted). Set to 0 to keep everything forever.
DATABASE_TOOLS_MYSQLDUMP mysqldump Path to the mysqldump binary.
DATABASE_TOOLS_MYSQL mysql Path to the mysql binary.
DATABASE_TOOLS_BACKUP_TIMEOUT 300 Process timeout in seconds for database dumps.
DATABASE_TOOLS_RESTORE_TIMEOUT 300 Process timeout in seconds for database restores.

📂 Backup Directory Structure

Physical backup files are saved securely under your Pelican private storage: /var/www/pelican/storage/app/private/database-backups/server-<ID>/<database_name>/


💡 A few quick things to keep in mind

  • What users see: In the Pelican Panel UI, this plugin is beautifully labeled as Advanced Database Manager.
  • Under the hood: The folder stays named plugins/database-tools internally to make sure it plays nicely with Pelican's internal plugin loading system and Linux file paths.
  • Security & Permissions: Don't worry about access control! All backup actions (create, download, restore, or delete) automatically check and respect standard Pelican user database permissions.

Made with ❤️ by laalaalaee

About

Advanced database tools for Pelican Panel. Adds live database sizes and 1-click SQL backups, restores, and downloads.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages