Requirements.
Server requirements for running Reward Loyalty.
Before installing Reward Loyalty, verify your server meets these requirements.
Server Requirements
| Requirement | Version |
|---|---|
| PHP | 8.4.0 or higher |
| Web Server | Apache |
| Database | SQLite 3.26+, MySQL 5.7+, or MariaDB 10.3+ |
Hardware Specifications
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 core | 2 cores |
| RAM | 1 GB | 2 GB |
| Disk Space | 1 GB | 10 GB |
The initial installation is approximately 200 MB. The rest of your disk space is used by your database, uploaded images, log files, and update backups. Most hosting plans include more than enough storage.
PHP Extensions
Most hosting providers include these extensions by default. The installer verifies them during setup.
Required Extensions:
- BCMath (
ext-bcmath) - Ctype (
ext-ctype) - cURL (
ext-curl) - DOM (
ext-dom) - Exif (
ext-exif) - Fileinfo (
ext-fileinfo) - Filter (
ext-filter) - GD (
ext-gd) - Hash (
ext-hash) - Iconv (
ext-iconv) - Intl (
ext-intl) - JSON (
ext-json) - Libxml (
ext-libxml) - Mbstring (
ext-mbstring) - OpenSSL (
ext-openssl) - PCRE (
ext-pcre) - PDO (
ext-pdo) - PDO SQLite (
ext-pdo_sqlite) - Session (
ext-session) - Tokenizer (
ext-tokenizer) - XML (
ext-xml) - Zip (
ext-zip) - Zlib (
ext-zlib)
Control Panel Compatibility
Recommended: cPanel
cPanel is the recommended control panel. It provides correct Apache configuration, PHP extension management, and file permissions out of the box. Most shared hosting providers include cPanel.
Other panels that work well:
- DirectAdmin — Straightforward Apache configuration, similar compatibility to cPanel
- CloudPanel — Modern, lightweight panel for VPS setups
- No panel (SSH only) — Works perfectly if you're comfortable managing Apache and PHP from the command line
Plesk: Use with Caution
Plesk works but has known configuration quirks that cause issues with updates and performance:
- PHP version mismatch: Plesk manages FPM and CLI PHP versions independently. If they don't match, updates may fail silently.
- Extension mismatch: Extensions enabled for FPM (web) may not be enabled for CLI (updates, cron), causing unexpected errors.
- Performance tuning: Plesk's default OPcache and PHP-FPM pool settings are often too conservative, leading to slow performance.
If you use Plesk, ensure PHP CLI and FPM use the same version with the same extensions enabled, and review the troubleshooting guides linked above.
Shared Hosting
Reward Loyalty works on shared hosting. Verify that proc_open and proc_close PHP functions are enabled. Some hosts disable these by default.
These functions are safe to enable. Reward Loyalty contains no unverified third-party code, and these functions are required for image processing.
One-Click Updates
Important: Dashboard updates and Install from Package use the
exec()PHP function to apply updates automatically. Many shared hosting providers disable this function for security reasons.
If exec() is available: One-click updates work automatically from the admin dashboard. This is the recommended way to update.
If exec() is disabled: Use Manual File Replacement instead. Download the latest version, upload the files, and restore your data — no exec() required. The rest of the application works without exec(). Only the automated update feature needs it.
💡 Tip: Most VPS and dedicated servers allow
exec()by default. If you're on shared hosting and your provider won't enable it, manual updates are a reliable alternative.
Production Requirements
HTTPS Certificate
An HTTPS certificate is required for production deployments. This enables:
- Secure connections for all users
- PWA features (offline access, home screen installation)
- Modern browser security features
Most hosting providers include free SSL certificates through Let's Encrypt. Contact your hosting provider if you need help enabling HTTPS.
💡 Note: For local development,
http://localhostworks without HTTPS. PWA features can be tested locally.
Technology Stack
For the full technology stack including frameworks, frontend tools, architecture details, and API surfaces, see Technology Stack.
Cron Scheduler (Recommended)
A cron job enables background tasks like OTP cleanup, stamp card expiration, and the Health Center heartbeat. All core loyalty features work without cron — it is recommended but not required.
If you want to enable it, add this entry to your server's crontab:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
On cPanel, use the Cron Jobs interface and set the frequency to "Once Per Minute." The Health Center will report whether your scheduler is running correctly.
Queue Driver
Reward Loyalty uses queued jobs for email delivery, notifications, and integrations. For most self-hosted installs, the default sync driver works correctly — jobs run inline during the request.
For multi-partner or SaaS deployments with higher traffic, switch to the database or redis driver and run a dedicated queue worker. See the Health Center documentation for setup instructions.