Skip to content

System Requirements

This page outlines the minimum and recommended system requirements for running HelpDesk Pro effectively.

Server Requirements

Minimum Requirements

ComponentRequirement
PHP8.2 or higher
DatabaseMySQL 8.0+ or MariaDB 10.4+
Web ServerApache 2.4+ or Nginx 1.18+
Memory512MB RAM
Storage100MB free space
ExtensionsSee PHP Extensions below
ComponentRecommendation
PHP8.3+
DatabaseMySQL 8.0+ with InnoDB
Web ServerNginx 1.20+ or Apache 2.4+
Memory2GB+ RAM
Storage1GB+ free space (SSD recommended)
CPU2+ cores

PHP Extensions

HelpDesk Pro requires the following PHP extensions:

Required Extensions

  • BCMath - For arbitrary precision mathematics
  • Ctype - For character type checking
  • cURL - For HTTP requests and API calls
  • DOM - For XML/HTML processing
  • Fileinfo - For file type detection
  • JSON - For JSON data handling
  • Mbstring - For multibyte string handling
  • OpenSSL - For secure communications
  • PCRE - For regular expressions
  • PDO - For database abstraction
  • Tokenizer - For PHP tokenization
  • XML - For XML processing
  • GD - For image processing
  • Imagick - For advanced image manipulation
  • Redis - For caching and sessions
  • Memcached - For caching
  • Zip - For file compression
  • Intl - For internationalization

Check PHP Extensions

You can check if required extensions are installed:

bash
# Check all extensions
php -m

# Check specific extension
php -m | grep curl

# Or use PHP info
php -i | grep -i extension

Database Requirements

MySQL/MariaDB

Minimum Version: MySQL 8.0+ or MariaDB 10.4+

Recommended Configuration:

sql
-- Character set
SET NAMES utf8mb4;
SET CHARACTER SET utf8mb4;

-- InnoDB engine
SET default_storage_engine = InnoDB;

-- Time zone support
SET time_zone = '+00:00';

Required Privileges:

  • CREATE
  • DROP
  • ALTER
  • INSERT
  • UPDATE
  • DELETE
  • SELECT
  • INDEX
  • REFERENCES

Database Size Estimates

ComponentEstimated Size
Base Installation~50MB
1,000 Tickets~10MB
10,000 Tickets~100MB
File AttachmentsVariable
Chat Messages~1MB per 1,000 messages

Web Server Configuration

Apache

Minimum Version: 2.4+

Required Modules:

  • mod_rewrite
  • mod_ssl (for HTTPS)
  • mod_headers (recommended)

Configuration Example:

apache
<VirtualHost *:80>
    ServerName helpdesk.yourdomain.com
    DocumentRoot /var/www/html/helpdesk-pro/public
    
    <Directory /var/www/html/helpdesk-pro/public>
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/helpdesk_error.log
    CustomLog ${APACHE_LOG_DIR}/helpdesk_access.log combined
</VirtualHost>

Nginx

Minimum Version: 1.18+

Configuration Example:

nginx
server {
    listen 80;
    server_name helpdesk.yourdomain.com;
    root /var/www/html/helpdesk-pro/public;
    index index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
    
    location ~ /\.ht {
        deny all;
    }
}

Development Requirements

Node.js

Version: 18.0+ (LTS recommended)

Check Version:

bash
node --version
npm --version

Composer

Version: Latest stable

Installation:

bash
# Download and install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Check Version:

bash
composer --version

Git

Version: 2.0+

Check Version:

bash
git --version

Performance Considerations

Memory Requirements

Usage LevelRAM Recommendation
Small (< 100 users)1GB
Medium (100-500 users)2-4GB
Large (500+ users)4-8GB
Enterprise (1000+ users)8GB+

Storage Requirements

ComponentStorage Needs
Application Files~200MB
Database10MB per 1,000 tickets
File AttachmentsVariable (user-dependent)
Logs1-10MB per day
Cache50-500MB

CPU Requirements

Usage LevelCPU Recommendation
Small1-2 cores
Medium2-4 cores
Large4-8 cores
Enterprise8+ cores

Security Requirements

SSL/TLS

Recommended: TLS 1.2+ with strong ciphers

Certificate: Valid SSL certificate (Let's Encrypt recommended)

Firewall

Required Ports:

  • 80 (HTTP)
  • 443 (HTTPS)
  • 22 (SSH) - for administration

Optional Ports:

  • 3306 (MySQL) - if external access needed
  • 6379 (Redis) - if using Redis

File Permissions

bash
# Application files
chmod -R 755 /path/to/helpdesk

# Storage and cache
chmod -R 775 storage/
chmod -R 775 bootstrap/cache/

# Ownership
chown -R www-data:www-data /path/to/helpdesk

Cloud Hosting Recommendations

Shared Hosting

Minimum Requirements:

  • PHP 8.2+
  • MySQL 8.0+
  • 512MB RAM
  • mod_rewrite enabled

Recommended Providers:

  • SiteGround
  • A2 Hosting
  • InMotion Hosting

VPS/Dedicated Servers

Recommended Specifications:

  • 2GB+ RAM
  • 2+ CPU cores
  • 20GB+ SSD storage
  • Ubuntu 20.04+ or CentOS 8+

Recommended Providers:

  • DigitalOcean
  • Linode
  • Vultr
  • AWS EC2

Managed Hosting

Laravel-Specific Hosts:

  • Laravel Forge
  • Laravel Vapor
  • Ploi
  • ServerPilot

Browser Compatibility

Supported Browsers

BrowserMinimum Version
Chrome90+
Firefox88+
Safari14+
Edge90+
Mobile Safari14+
Chrome Mobile90+

Required JavaScript Features

  • ES6+ support
  • Fetch API
  • WebSocket support (for real-time features)
  • Local Storage
  • Session Storage

Third-Party Services

Required Services

ServicePurposeRequired
Email ProviderSMTP for notificationsYes
DatabaseData storageYes

Optional Services

ServicePurposeRequired
OpenAIAI featuresNo
PusherReal-time featuresNo
RedisCachingNo
CDNFile deliveryNo

System Check Script

You can use this PHP script to check if your server meets the requirements:

php
<?php
// requirements-check.php
echo "HelpDesk Pro Requirements Check\n";
echo "===============================\n\n";

// PHP Version
$phpVersion = PHP_VERSION;
echo "PHP Version: $phpVersion ";
if (version_compare($phpVersion, '8.2.0', '>=')) {
    echo "✓\n";
} else {
    echo "✗ (Requires 8.2+)\n";
}

// Required Extensions
$requiredExtensions = [
    'bcmath', 'ctype', 'curl', 'dom', 'fileinfo',
    'json', 'mbstring', 'openssl', 'pcre', 'pdo', 'tokenizer', 'xml'
];

echo "\nRequired Extensions:\n";
foreach ($requiredExtensions as $ext) {
    echo "- $ext: ";
    if (extension_loaded($ext)) {
        echo "✓\n";
    } else {
        echo "✗\n";
    }
}

// Memory Limit
$memoryLimit = ini_get('memory_limit');
echo "\nMemory Limit: $memoryLimit\n";

// Upload Limits
echo "Upload Max Filesize: " . ini_get('upload_max_filesize') . "\n";
echo "Post Max Size: " . ini_get('post_max_size') . "\n";
echo "Max Execution Time: " . ini_get('max_execution_time') . "s\n";

echo "\nCheck complete!\n";
?>

Next Steps

Once you've verified your system meets the requirements:

  1. Proceed to Installation Guide
  2. Review Configuration Guide
  3. Check Troubleshooting Guide if you encounter issues

Need Help? If you're unsure about any requirements, please contact our support team for assistance.

Released under the MIT License.