Server requirements
PHP, database, extensions, web server and optional FFmpeg — everything you need before installing.
TubePress runs on an ordinary LAMP or LEMP stack. There is no framework to install, no Composer or Node build step, and no ionCube loader — if your host already runs WordPress, it will almost certainly run TubePress.
This page covers the minimum you need, the setup we recommend for production, and the few optional pieces (FFmpeg, a TubePress account) that only specific features require. The web installer checks all of it for you on its System Check step.
Minimum requirements
This is the floor. The installer will refuse to continue until every required item passes.
| Component | Minimum | Notes |
|---|---|---|
| PHP | 8.2 | 8.4 recommended; enable OPcache |
| Database | MySQL 5.7+ / MariaDB 10.4+ | InnoDB, utf8mb4 |
| Web server | Apache 2.4+ or Nginx | With URL rewriting |
| Required extensions | pdo_mysql, mbstring, fileinfo | Plus working PHP sessions |
| Recommended extensions | curl, zip, GD or Imagick | Catalogue, add-on installs, thumbnails |
| Writable paths | config/, storage/, public/uploads/ | Owned by the web-server user |
Required PHP extensions
Setup is blocked unless these three are present:
Working PHP sessions and server-side URL rewriting (Apache mod_rewrite or an Nginx try_files rule) are also required — the installer checks both.
Recommended setup
For a smooth production site:
- PHP 8.4 with OPcache — the version TubePress is built and tested against, with the bytecode cache on for speed.
- memory_limit of 256 MB or more — comfortable headroom for bulk imports and image processing.
- curl, zip and GD (or Imagick) — optional but recommended: catalogue downloads and the marketplace use
curl, installing themes and plugins from the panel needszip, and thumbnail generation needs GD or Imagick. - HTTPS — serve the site over TLS and set your site URL to the
httpsaddress.
Scheduled jobs run automatically through TubePress’s built-in pseudo-cron, so no system crontab is required. High-traffic sites can still wire a real cron — see Cron & CLI.
Upload limits for video
TubePress caps direct uploads at 500 MB by default (adjustable under /admin/settings). Your PHP and web-server limits must be at least as large, or big files are rejected before they reach the app:
; php.ini - allow large video uploads
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 256M
max_execution_time = 300On Nginx also raise client_max_body_size; on Apache, LimitRequestBody. For very large libraries, transcode and serve from remote storage instead — see Transcoding and Storage.
Web server
The web root is the public/ directory, and every request is routed through a single front controller, public/index.php. Keep config/, src/ and storage/ above the document root (they sit one level up from public/) so they can never be served directly.
Apache
Point the document root at public/ and allow the shipped .htaccess files to do their work:
DocumentRoot /var/www/tubepress/public
<Directory /var/www/tubepress/public>
AllowOverride All
Require all granted
</Directory>Nginx
Use try_files for clean URLs, alias the theme and template folders, and deny the sensitive paths:
server {
root /var/www/tubepress/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
# Serve theme and template assets
location /themes/ { alias /var/www/tubepress/themes/; }
location /templates/ { alias /var/www/tubepress/templates/; }
# Never expose application internals
location ~ ^/(config|src|storage)/ { deny all; }
client_max_body_size 512M;
}Both servers are first-class — the installer auto-detects which one you are running.
Optional: FFmpeg & transcoding
You only need FFmpeg if you want TubePress to transcode video locally — converting uploads to web-friendly formats and generating preview thumbnails. If you import already-encoded files or serve from external storage or a CDN, you can skip it entirely. See Transcoding.
Optional: a TubePress account
The CMS is complete and free on its own. A free TubePress account unlocks pay-as-you-go extras — AI credits, the 400k+ video catalogue, the marketplace and support. You start with 150 free credits and never need an account to run a full site.
Next steps
Still stuck?
Open a ticket from your dashboard and our team will help you out.