๐ Requirements
Server Requirementsโ
Minimumโ
| Component | Minimum Version | Recommended |
|---|---|---|
| PHP | 7.4 | 8.1+ |
| MySQL | 5.7 | 8.0 |
| MariaDB | 10.3 | 10.6+ |
| RAM | 512 MB | 1 GB+ |
| Disk | 200 MB | 1 GB+ |
Web Serverโ
Apache (most common on shared hosting)
mod_rewritemust be enabled.htaccesssupport must be enabled (AllowOverride All)
Nginx (VPS only)
- See
nginx.conf.examplein the root of the project for a ready-to-use config - PHP-FPM is required
Required PHP Extensionsโ
These are enabled by default on almost every hosting provider:
| Extension | Purpose |
|---|---|
pdo | Database abstraction base |
pdo_mysql | MySQL database driver |
json | JSON encoding/decoding |
session | User session management |
openssl | Password hashing, HMAC verification |
curl | Outbound API calls (WhatsApp, Twilio, Telegram, etc.) |
mbstring | Multi-byte string operations (Unicode message content) |
Optional Extensionsโ
| Extension | Purpose | Required for |
|---|---|---|
imap | Polling email inboxes | Email channel inbound |
Checking extensions on your server: Create a temporary file called
info.phpwith<?php phpinfo(); ?>, upload it to your web root, and open it in your browser. Look for the listed extensions in the output. Delete the file when done.
Network Requirementsโ
Inboundโ
Your server must be publicly accessible from the internet so that channel providers (WhatsApp, Twilio, Telegram, etc.) can deliver webhooks to it.
- Domain with HTTPS is required by most providers (WhatsApp and Instagram mandate HTTPS). A free Let's Encrypt certificate is sufficient.
- The webhook path format is:
https://yourdomain.com/webhooks/{channel_type}/{channel_id}
Outboundโ
PulseHub makes HTTPS calls to provider APIs when sending messages:
| Provider | Destination |
|---|---|
graph.facebook.com | |
| Twilio | api.twilio.com |
| Telegram | api.telegram.org |
| Viber | chatapi.viber.com |
| Instagram/Facebook | graph.facebook.com |
| OpenAI (AI suggestions) | api.openai.com |
Database Requirementsโ
PulseHub creates its own database and all tables automatically during the install wizard. You only need:
- A MySQL user with
CREATE DATABASEprivileges (or a pre-created empty database with full privileges) - Character set:
utf8mb4(for full Unicode/emoji support โ PulseHub sets this automatically)
Shared Hosting Compatibilityโ
PulseHub is a true plug-and-play solution designed for shared hosting plans (cPanel, Plesk, DirectAdmin):
- No SSH or command-line access required โ everything is done through the browser
- No Composer, no npm, no artisan, no build step โ upload files and run the web installer
- No root access required
- Works with the PHP version your host provides (7.4+)
- Cron jobs can be set up via a simple URL in your hosting panel's Cron Jobs tool โ no CLI commands needed
- The cron URL is shown after installation and in Settings โ Cron Job URL
Email inbound on shared hosting: The
imapextension is available on most cPanel/Plesk hosts. If it isn't, ask your host to enable it via your hosting panel (usually under "Select PHP Version" or "PHP Extensions"), or use a third-party email parsing service (Mailgun Inbound, SendGrid Inbound Parse) that calls your webhook endpoint directly.