Skip to content
TubePress — free, self-hosted & actively maintained
Users & administration

Maintenance & health

Health checks, data purges, the pseudo-cron scheduler and the PHP version guard.

A tube site is a moving target: PHP versions change, disks fill, caches grow stale and test data piles up before launch. TubePress gives you a single Maintenance tab to see the state of your server and to clean house safely — without shell access.

This page covers the built-in health check, the bulk purge tool, the scheduler that runs routine work, the PHP version guard that keeps a mismatched server from white-screening, and some habits for keeping your database lean.

Health check

Open /admin/settings and choose the Maintenance tab to run the health check. It probes dozens of things about your server and groups them into categories, each row showing the current value, what is recommended, and — when something is off — a copy-and-paste command to fix it. A banner at the top sums it up as All systems healthy, Some recommendations or Issues found.

Each check is one of three states:

Pass
Meets the recommendation — nothing to do.
Warn
A recommendation, not a blocker. The site runs, but you would benefit from acting on it.
Fail
Something the CMS genuinely needs — fix these first.

The categories it reports on include:

  • PHP & PHP Extensions — the PHP version plus the matrix of extensions (required: pdo_mysql, mbstring, json, curl; recommended: fileinfo, intl, zip, zlib, gd, openssl, ftp), each annotated with the feature it powers.
  • PHP Configmemory_limit, max_execution_time, upload_max_filesize, post_max_size, max_input_vars, allow_url_fopen and file_uploads.
  • Permissions — that storage/ and public/uploads/ are writable (plus optional directories for imports, backups and the theme editor).
  • Database — connection, MySQL version and the utf8mb4 charset.
  • Security — HTTPS, display_errors and expose_php.
  • Performance, System Tools & Disk Space — OPcache, the PHP CLI binary, FFmpeg/FFprobe, the download-queue workers and free disk on the uploads volume.
Check it after every server change. Re-run the health check after a PHP upgrade or host migration — it is the quickest way to catch an extension that did not come across, such as intl being present on the old PHP but missing on the new one.

Purge & cleanup

The Purge section of the Maintenance tab is a danger zone for permanently bulk-deleting whole categories of data. Tick the data types you want gone, type DELETE to confirm, and they are removed. You can clear any of:

  • Videos (and their comments, likes, favourites and history), Categories, Tags, Pornstars and Channels
  • Comments, Pages and Import Jobs (the imported videos themselves are kept)
  • Users — non-admin accounts only; administrator accounts are always preserved

Deletion runs in small, server-bounded chunks behind a single-flight lock, so even a catalogue of millions of rows clears without timing out a request or blocking the live site. It is the fastest way to wipe seed or demo content before launch.

There is no undo. A purge is permanent. Take a backup first — especially on a live site — and double-check the boxes you have ticked before typing DELETE.

The pseudo-cron

Routine work — recalculating rankings, dispatching transcode jobs, running imports, refreshing sitemaps and cleaning up after itself — is handled by a built-in scheduler that needs no system crontab. It ticks over on page renders and is kept alive by a lightweight heartbeat, so scheduled tasks just happen, even on shared hosting.

The full story, including the optional CLI scripts for advanced hosts, is on the Cron & CLI page.

The PHP version guard

TubePress requires PHP 8.2 or newer. To make a version mismatch friendly instead of fatal, a tiny guard runs at every entry point before the application boots. It is written in deliberately ancient, PHP 5-compatible syntax so it parses on any PHP version — which means a server running too old a PHP shows a clean "PHP upgrade required" page (with an HTTP 500 and a Retry-After hint) instead of a raw parse error or a blank white screen. On the command line it prints the same message to standard error.

If you ever see that page, switch the site to PHP 8.2 or newer — most hosting control panels let you change the PHP version per site — then reload. Match your CLI PHP to the web PHP too.

Keeping the database tidy

A little routine hygiene keeps queries fast and backups small:

  • Back up before bulk changes. Any purge, import or update is safer with a fresh backup in hand.
  • Clear test data before launch with the Purge tool, so your live catalogue starts clean.
  • Let the scheduler do the housekeeping. Recurring cleanup runs automatically through the pseudo-cron — you do not need to prune logs or caches by hand.
  • Keep the charset on utf8mb4 (the health check confirms this) so every language and emoji stores correctly.

Next steps

Still stuck?

Open a ticket from your dashboard and our team will help you out.

Try the live demo → Download TubePress →