ImpulseDB Postgres
Installation & activation
Upload the module, activate the addon, and add a license key. ImpulseDB Postgres is fully license-gated — until your key is verified, only the Dashboard tab and Diagnostics → License work, and orders are refused.
Time: ~10 min · Requires: WHMCS 9.0+ · PHP 8.2–8.4 · ImpulseCore 1.61.13+
1. Prerequisites
Section titled “1. Prerequisites”- WHMCS 9.0 or later on PHP 8.2, 8.3 or 8.4.
- ImpulseCore 1.61.13+ — the shared Impulse addon. ImpulseDB Postgres depends on it for licensing, project membership, hook dispatch, the cron runner, audit, and the Security & Maintenance pipeline. Install and activate
impulsecorebefore activating ImpulseDB Postgres. - ionCube Loader 13+ for your PHP version. The distributed module files are encoded.
- File access to the WHMCS server to upload the release, and ideally a system cron entry for ImpulseCore’s cron runner (step 6).
- A VPS provider account with an API token that can create and destroy servers: Vultr, Hetzner Cloud, DigitalOcean, Linode, Amazon EC2, Microsoft Azure, Google Cloud, or Proxmox VE.
- A DNS provider account — Cloudflare (recommended), AWS Route 53, DigitalOcean, Vultr, Linode or Hetzner DNS. Used for per-server and per-database hostname records and Let’s Encrypt DNS-01 challenges.
You do not need an SSH key. Database servers are managed through a scoped Admin Proxy on each server. SSH is a HIGH RISK break-glass option that is off by default (Settings → General & Access → Break-Glass Access); turn it on only for rescue work.
2. Upload the files
Section titled “2. Upload the files”Extract the release archive into the WHMCS root:
cd /path/to/whmcsunzip /tmp/impulsepostgres-<version>.zipYou’ll get the standard layout: modules/servers/impulsepostgres/ for the server module, modules/addons/impulsepostgres_addon/ for the admin UI, and includes/hooks/impulsepostgres_hooks.php. There are no cron scripts to install — the module’s background tasks are registered with ImpulseCore’s cron runner:
provision— every 2 minutes, advances every in-flight resource (dedicated servers, shared servers, replicas) through setup → DNS → Let’s Encrypt → online.usage— hourly, samples database size and connections, enforces storage quotas, takes apg_dumpbackup of every active database, and prunes expired backups.alert_detection— hourly, flags oversold capacity, stalled tasks, provisioning failures, an expiring license and self-signed certificates.pg_upgrade— every 5 minutes, runs PostgreSQL major-version upgrades customers requested and you approved.
Make sure the WHMCS web user can read everything, then move on.
3. Activate the addon
Section titled “3. Activate the addon”- System Settings → Addon Modules.
- Find ImpulsePostgres in the list and click Activate.
- Set Access Control → Full Administrator (or whichever admin role(s) should see the addon).
- Click Save Changes.
4. Enter your license key
Section titled “4. Enter your license key”Licensing is handled by ImpulseCore:
- Open Addons → ImpulseCore → Modules & Licensing → Licenses.
- Paste your license key (starts with
IPGRES-) into the ImpulsePostgres row. - Click Save. ImpulseCore validates the key against the licensing server and records your WHMCS install’s domain the first time it validates — you don’t enter the domain anywhere.
- The row shows the license as active, with the registered domain. In the addon, Diagnostics → License shows the same status, tier and features, with a link back to ImpulseCore.
A successful check is cached for 24 hours. If the licensing server can’t be reached, the license keeps working for a 7-day grace period.
5. Walk the Setup Checklist
Section titled “5. Walk the Setup Checklist”Back on the Dashboard, the First-Time Setup panel detects what’s configured and what’s missing, and marks which steps are required. Each item links straight to the right form. The main ones:
- License key.
- WHMCS server IP (so the firewall and
pg_hba.confon each database server admit the WHMCS host). - VPS provider connection — see the providers guide for the per-vendor steps.
- DNS hostname template, DNS provider and Let’s Encrypt email.
- Plans configured (and, optionally, synced to WHMCS).
- Provisioning cron and usage & backup cron — these read ImpulseCore’s cron status and link to it.
- Break-glass SSH keys — only required if you turn break-glass SSH on.
The panel hides itself once every item is done.
6. Install ImpulseCore’s cron entry
Section titled “6. Install ImpulseCore’s cron entry”The module has no crontab lines of its own. Its tasks run whenever ImpulseCore’s runner ticks. Open ImpulseCore → Operations → Cron → Automation & Setup for the exact line to add to the system crontab — it runs modules/addons/impulsecore/cron/runner.php every 5 minutes with your PHP binary:
*/5 * * * * /usr/bin/php /path/to/whmcs/modules/addons/impulsecore/cron/runner.phpReplace /usr/bin/php with your PHP binary (see the ionCube check above) and /path/to/whmcs with your install directory.