ComusThumbz Documentation
Admin Login

System Requirements

For video based websites for best results you should have a main server (for ComusThumbz), a storage server and 1 or more video conversion servers.  For the storage and covnersion servers you could use services that are available, just follow the links in our admin.

What This Page Covers

This guide explains what your web server needs to have installed before you can run ComusThumbz. If you've already installed ComusThumbz successfully, your server likely meets all these requirements. Use this guide when setting up a new server or troubleshooting issues.

Note: If you're using a hosting provider like cPanel, HestiaCP, or Plesk, many of these requirements are pre-configured for you. However, some settings (especially for video processing) may need adjustment.

Do I Meet the Requirements?

Quick Check

Most hosting providers that support modern PHP websites can run ComusThumbz. You need:

  • A Linux server (Ubuntu, Debian, CentOS, or similar)
  • PHP version 8.3 or newer
  • MySQL or MariaDB database
  • At least 2GB of RAM (4GB+ recommended for video sites)
  • FFmpeg installed (required for video processing)
  • IonCube
Warning: ComusThumbz does NOT work on shared hosting that blocks video processing tools. You'll need a VPS (Virtual Private Server) or dedicated server for best results.

What ComusThumbz Can Do

When your server meets all requirements, you'll have access to these features:

  • Upload and manage videos with automatic thumbnail generation and multiple quality options
  • Create photo galleries with image processing and bulk uploads
  • Host live webcam streams using real-time video technology
  • Creator monetization including tips, subscriptions, and pay-per-view content
  • Multiple languages supporting 25 languages from Arabic to Vietnamese
  • Payment processing with support for Stripe, PayPal, CCBill, and 7 other providers
  • CDN storage to offload video files to BunnyCDN, Wasabi, Backblaze, and other services
  • Advanced analytics tracking views, clicks, earnings, and user behavior
  • AI-powered tools to help review and organize content faster
Note: You don't need to use every feature. For example, if you're not hosting live streams, you can skip the streaming-specific setup steps.

Server Type: What Works Best

Hosting Type Suitable For Notes
VPS (Virtual Private Server) Small to medium sites Best balance of cost and control
Dedicated Server Large sites with heavy traffic Maximum performance
Cloud Server (DigitalOcean, Linode, Vultr) Scalable sites Easy to upgrade as you grow

Minimum Server Specs:

  • 2 CPU cores (4+ recommended)
  • 2GB RAM (4GB+ recommended)
  • 10GB free disk space (more if storing videos locally)
  • Ubuntu 22.04 or Debian 12
Warning: Shared Hosting is NOT recommended because:
  • Video processing tools are usually blocked
  • Not enough memory for video uploads
  • Can't run background tasks needed for processing
  • No control over server settings


If you're currently on shared hosting, you'll need to upgrade to a VPS to use video features.

Software Requirements

Web Server

Your server needs either Apache or Nginx to serve web pages.

Apache (most common):

  • Must support .htaccess files for clean URLs
  • Version 2.4 or newer

 

Nginx:

  • Version 1.18 or newer
  • Requires manual configuration for clean URLs

 

Tip: If you're using a control panel like cPanel or HestiaCP, the web server is already configured for you.

PHP Version

Required: PHP 8.3 or newer

ComusThumbz uses modern PHP features that only work in version 8.3 and above. Older versions (PHP 7.x or PHP 8.0-8.2) will not work.

Checking Your PHP Version:

If you have server access, run:

php -v

 

You should see something like: PHP 8.3.x

If you see a lower version (like 7.4 or 8.0), you'll need to upgrade PHP before installing ComusThumbz.

Database

Required: MySQL 5.7+ or MariaDB 10.3+

Recommended: MySQL 8.0+ or MariaDB 11.4+

Your database stores all your content, users, and settings. The newer versions provide better performance for large sites.

Video Processing Tool (FFmpeg)

Error: FFmpeg is REQUIRED for video features to work. Without it:
  • Uploaded videos stay stuck at "pending" forever
  • No thumbnails or preview clips are generated
  • Videos can't be converted to streaming formats

What is FFmpeg?
FFmpeg is a command-line tool that converts videos to different formats and creates thumbnails. It runs in the background automatically when users upload videos.

Checking if FFmpeg is installed:

ffmpeg -version

 

If you see version information, FFmpeg is installed. If you see "command not found," you'll need to install it or ask your hosting provider to install it.


PHP Settings That Need Adjustment

Several PHP settings control how large files you can upload and how long processing can run. These usually need to be increased from default values.

Important Settings

Setting What It Does Recommended Value
memorylimit How much memory PHP can use 512M
maxexecutiontime How long scripts can run 600 seconds (10 minutes)
uploadmaxfilesize Maximum upload size 500M (or larger)
postmaxsize Maximum form submission size 500M (same as upload)
Tip: If you're using cPanel, you can adjust these settings from MultiPHP INI Editor. For HestiaCP, go to Server > Configure > PHP and edit the settings there.

How to Check Current Settings

Create a file called phpinfo.php with this content:

<?php phpinfo(); ?>

 

Upload it to your site and visit it in a browser (example: https://yoursite.com/phpinfo.php). You'll see all PHP settings. Search for the setting names above to see current values.

Warning: Delete phpinfo.php after checking settings - it reveals information about your server that shouldn't be public.

PHP Functions That Must Be Enabled

Some hosting providers disable certain PHP functions for security. ComusThumbz needs these functions to work:

Function What It's Used For
exec() Running FFmpeg for video processing
shellexec() Running command-line tools
fileputcontents() Saving configuration files
mkdir() Creating folders for uploads
chmod() Setting folder permissions

If these are disabled: Videos won't process, uploads will fail, and settings can't be saved.

How to enable them: Contact your hosting provider or edit php.ini if you have server access. Look for a line starting with disablefunctions = and remove any of the functions listed above.


Automatic Background Tasks (Cron Jobs)

Error: A cron job MUST be running or your site won't work properly. Without it:
  • Videos stay stuck at "pending"
  • Earnings aren't calculated
  • Statistics don't update

What is a Cron Job?

A cron job is an automatic task that runs every minute in the background. It handles video processing, updates statistics, and performs other maintenance tasks.

Setting Up the Cron Job

You need to set ONE cron job that runs every minute:

The command:

     php /path/to/your/site/ct/admin/cron/sitecron.php

 

Replace /path/to/your/site/ with your actual installation path.

cPanel users:

Go to Advanced > Cron Jobs

  1. Set timing to (every minute)
  2. Paste the command above with your correct path
  3. Click Add New Cron Job

 

HestiaCP users:

  1. Log in via SSH
  2. Run: crontab -e
  3. Add the cron line and save

 

Checking if it's working:

  • Videos should move from "pending" to "active" within a few minutes of upload
  • Go to Admin Panel > Cron Manager to see the last run time

 


HTTPS / SSL Certificate

Warning: HTTPS is strongly recommended and REQUIRED for:
  • Accepting payments
  • SEO (Google ranking)
  • Browser security features

Most modern hosting providers offer free SSL certificates through Let's Encrypt.

cPanel: Go to SSL/TLS Status and click AutoSSL to get a free certificate

HestiaCP: Go to Web > [your domain] > Edit > SSL and enable Let's Encrypt

Manual setup: If you manage your own server, use Certbot:

sudo certbot --apache -d yourdomain.com

 

Success: Once SSL is installed, your site will automatically redirect from http:// to https://.

Storage Space Planning

How Much Space Do I Need?

Content Volume Recommended Space
Small site (up to 1,000 videos) 50GB with CDN
Medium site (up to 10,000 videos) 500GB with CDN
Large site (100,000+ videos) CDN required - don't store locally
Tip: Use a CDN (Content Delivery Network) like BunnyCDN, Wasabi, or Backblaze to store videos. This keeps your server disk space free and delivers videos faster to users worldwide. ComusThumbz has built-in support for all major CDNs.

Where Files Are Stored

After installation, these folders will hold your content:

  • ct/uploads/videos/ - Uploaded video files
  • ct/uploads/images/ - Images and thumbnails
  • ct/cache/ - Temporary files (can be cleared)
  • ct/logs/ - System logs

 

These folders need to be writable by the web server.


Live Streaming Requirements (Optional)

Note: Only needed if you want to host live webcam streams. Skip this section if you're not using live streaming features.

Live streaming requires Docker and LiveKit to be installed on your server.

What is Docker?
Docker is a tool that runs LiveKit (the streaming software) in an isolated container.

What is LiveKit?
LiveKit handles real-time video streaming between broadcasters and viewers.

System Requirements:

  • Docker Engine 20.10 or newer
  • Open ports: 7880, 7881 (TCP) and 50000-50020 (UDP)
  • Separate server recommended for high-traffic streaming

 

Tip: If you're not comfortable setting up Docker, consider using a managed streaming service instead, or skip live streaming entirely. You can still host pre-recorded videos without LiveKit.

Common Problems and Solutions

Videos Stay "Pending" Forever

What you see: You upload a video but it never appears on your site. In the admin panel, it shows status "pending."

Common causes:

  1. Cron job not running
  2. FFmpeg not installed
  3. PHP functions disabled

 

How to fix:

  1. Check if the cron job is running (see Admin Panel > Cron Manager)
  2. Test FFmpeg: Run ffmpeg -version via SSH or ask your host
  3. Check PHP functions: Create a test file to verify exec() works
  4. Contact support if the issue persists

 

Can't Upload Large Files

What you see: Upload fails for videos larger than 100MB.

How to fix:

  1. Increase PHP settings (uploadmaxfilesize and postmaxsize) to at least 500M
  2. Restart PHP-FPM after changing settings
  3. If on cPanel, use MultiPHP INI Editor

 

Permission Denied Errors

What you see: Errors about files or folders not being writable.

How to fix:

  1. Make sure folders have correct permissions:

 

  • ct/logs/ should be writable
  • ct/uploads/ should be writable
  • ct/cache/ should be writable

 

  1. If you have SSH access, run: chmod -R 775 ct/logs ct/uploads ct/cache
  2. Contact your hosting provider if you don't have SSH access

 

Database Connection Failed

What you see: Error message about database connection on every page.

How to fix:

  1. Check that MySQL is running
  2. Verify database credentials in ct/dat/config.inc.php
  3. Make sure the database user has full permissions
  4. Contact your hosting provider for database issues

 


Checking Your Server Automatically

Requirements Check Script

Save this as checkrequirements.php in your site root and visit it in your browser:

<?php
echo "<h2>ComusThumbz Requirements Check</h2>\n";
echo "<pre>\n";

// PHP Version
$phpOk = versioncompare(PHPVERSION, '8.3.0', '>=');
echo "PHP Version: " . PHPVERSION . " " . ($phpOk ? '✅ OK' : '❌ Need 8.3+') . "\n\n";

// Extensions
$extensions = ['pdo', 'pdomysql', 'gd', 'curl', 'mbstring', 'json'];
echo "Required Extensions:\n";
foreach ($extensions as $ext) {
$loaded = extensionloaded($ext);
echo " $ext: " . ($loaded ? '✅ OK' : '❌ MISSING') . "\n";
}

// Functions
$disabled = explode(',', iniget('disablefunctions'));
$required = ['exec', 'shellexec', 'mkdir', 'chmod', 'fileputcontents'];
echo "\nRequired Functions:\n";
foreach ($required as $func) {
$ok = !inarray(trim($func), arraymap('trim', $disabled));
echo " $func: " . ($ok ? '✅ OK' : '❌ DISABLED') . "\n";
}

// Settings
echo "\nPHP Settings:\n";
echo " memorylimit: " . iniget('memorylimit') . "\n";
echo " maxexecutiontime: " . iniget('maxexecutiontime') . " seconds\n";
echo " uploadmaxfilesize: " . iniget('uploadmaxfilesize') . "\n";
echo " postmaxsize: " . iniget('postmaxsize') . "\n";

// FFmpeg
echo "\nExternal Tools:\n";
$ffmpeg = @shellexec('which ffmpeg 2>/dev/null');
echo " FFmpeg: " . ($ffmpeg ? '✅ Found' : '❌ NOT FOUND') . "\n";
echo "</pre>\n";
?>

 

This script checks:

  • PHP version
  • Required extensions
  • Enabled functions
  • PHP settings
  • FFmpeg installation

 

Tip: Green checkmarks (✅) mean everything is OK. Red X marks (❌) indicate problems that need fixing.

Getting Help

Where to Look First

  1. Check the cron job - Most "videos not processing" issues are cron-related
  2. Verify FFmpeg is installed - Run ffmpeg -version to check
  3. Review PHP settings - Make sure memory and upload limits are high enough
  4. Check folder permissions - Uploads folder must be writable

When to Contact Support

Contact your hosting provider if:

  • You can't access PHP settings or cPanel
  • FFmpeg isn't installed and you can't install it
  • Database won't connect despite correct credentials
  • Firewall issues are blocking connections

 

Contact ComusThumbz support if:

  • Requirements are met but features still don't work
  • You see specific error messages in the admin panel
  • Configuration options aren't clear

 


Guide When to Use It
Installation Guide After verifying requirements, use this to install ComusThumbz
Server Setups Guide Specific instructions for cPanel, HestiaCP, Plesk, and CLI setups
Settings Control Center Configure ComusThumbz settings after installation
Video Processor Settings Fine-tune video processing and FFmpeg options
Storage Servers Set up CDN storage for videos
Cron Manager Monitor and manage background tasks

Summary Checklist

Before installing ComusThumbz, verify you have:

  • [ ] Linux server (VPS or dedicated, not shared hosting)
  • [ ] PHP 8.3 or newer
  • [ ] MySQL 5.7+ or MariaDB 10.3+
  • [ ] At least 2GB RAM (4GB+ recommended)
  • [ ] FFmpeg installed and working
  • [ ] exec() and related PHP functions enabled
  • [ ] PHP memory limit set to 512M or higher
  • [ ] Upload max filesize set to 500M or higher
  • [ ] Writable folders for uploads, logs, and cache
  • [ ] Cron job capability (runs every minute)
  • [ ] SSL certificate (free Let's Encrypt works great)
  • [ ] 10GB+ free disk space
Success: If you can check all these boxes, your server is ready for ComusThumbz installation!

Need More Help? Check the Installation Guide next, or contact your hosting provider to verify server requirements.