Self-hosted ยท Docker ยท Open Source

Automated cPanel backup
management

cPanelVault downloads, monitors, and stores your cPanel backups automatically โ€” with a clean web UI, smart scheduling, and multi-channel notifications.

Get started View on GitHub

Everything you need, nothing you don't

A focused tool that does one thing well: keep your cPanel backups safe and local.

๐Ÿ–ฅ๏ธ

Web UI & Scheduler

Clean dashboard with per-host cron scheduling, live status, and one-click manual runs.

๐Ÿ”

Stability check

Polls the FTP until the backup file stops growing before downloading โ€” no partial files, no placeholders.

๐Ÿณ

Docker-ready

Single container with healthcheck, named volumes for backups and state. Up and running in minutes.

๐Ÿ””

Notifications

Get notified on success or failure via email (SMTP or Resend) and Telegram, with run logs included.

๐Ÿ—‚๏ธ

Multi-host

Manage backups for multiple cPanel accounts from a single instance, each with its own schedule and retention.

๐Ÿงน

Retention management

Automatically removes local backups older than a configurable number of days, keeping storage under control.

Simple by design

cPanelVault runs in the background and handles the full backup lifecycle without manual intervention.

1

Trigger a backup

At the scheduled time (or on demand), cPanelVault calls the cPanel API to request a full backup.

2

Wait for the archive to be ready

It polls the FTP at regular intervals and verifies the file size is stable across multiple checks โ€” ensuring cPanel has finished writing before downloading.

3

Download & clean up

The backup is downloaded locally with resume support, then deleted from the FTP server. The remote space is always left clean.

4

Notify & expire

A notification is sent with the result and run log. Old local backups beyond the retention window are automatically removed.

Up and running in minutes

Requires Docker and Docker Compose. Clone, configure, and deploy.

# Clone the repository
git clone https://github.com/gioxx/cPanelVault.git
cd cPanelVault

# Copy and edit the config
cp ftp_config_sample.json ftp_config.json
nano ftp_config.json

# Start
docker compose up -d

The web UI is available at http://localhost:8080 once the container starts.