Skip to content
TubePress — free, self-hosted & actively maintained
Getting started

Installation

Upload the files and complete the 6-step web installer in about five minutes.

TubePress installs like any classic PHP application: upload the files, point a browser at your domain, and follow a short web wizard. No command line, no build step.

Budget about five minutes. Before you start, confirm your server meets the requirements and have your database details to hand.

Download TubePress

Grab the latest release from the download page. It is a single, small ZIP containing the full, editable PHP source — no licence key and no ionCube.

Upload to your server

Extract the ZIP and upload its contents to your server with FTP/SFTP or your host’s file manager. The one rule that matters: your web root must point at the public/ directory, not the project root. Everything else — config/, src/, storage/, themes/, plugins/ — lives one level above the document root and is never served directly.

Shared hosting. If you cannot move the web root, point your domain (or a subdomain) at the …/public folder in your control panel.

Run the web installer

Visit your domain in a browser. Because no config/installed.php marker exists yet, TubePress sends you straight into the setup wizard. It has six steps:

  1. Welcome. A short intro screen — click through to begin.
  2. System Check. Verifies your PHP version, extensions and writable folders. When every required check passes it advances automatically; if something fails, each item expands with how to fix it.
  3. Database. Enter your database host, name, user and password. TubePress connects, creates the database if it can (or uses an existing one on shared hosting), runs every SQL migration, and writes config/database.php. The host field also accepts host:port or a socket path.
  4. Administrator. Create your admin account — a username (3–50 characters), a valid email, and a password of at least 8 characters.
  5. Settings. Name your site (a description is optional). The site URL is auto-detected and videos-per-page defaults to 24 — both editable later.
  6. Complete. TubePress seeds default pages, settings and SEO defaults, writes the install marker, and hands you the link to your new admin panel.
No SQL to import. The Database step runs all of TubePress’s numbered migrations for you — there is no .sql dump to load by hand.

File permissions

The web-server user (often www-data) must own and be able to write three locations: config/ (to save your settings), storage/ (logs, temp files and backups) and public/uploads/ (your media). The System Check flags any that are not writable.

# Give the web-server user ownership
chown -R www-data:www-data config storage public/uploads

# Directories 755, files 644
find config storage public/uploads -type d -exec chmod 755 {} \;
find config storage public/uploads -type f -exec chmod 644 {} \;

Only those three paths need to be writable by the server; the rest of the tree can stay read-only.

Apache vs Nginx

Both are fully supported and auto-detected during install.

  • Apache — set AllowOverride All so the shipped .htaccess files can handle clean URLs and block access to sensitive folders. On completion TubePress creates public/themes and public/templates symlinks so theme assets resolve.
  • Nginx — add the standard try_files … /index.php?$query_string rule, alias /themes/ and /templates/ to the project folders, and deny the config/, src/ and storage/ paths. Full snippets are in Requirements.

Local development (localhost)

TubePress runs on a plain-HTTP localhost install with no special setup — the installer, sessions and login all work without HTTPS. Two easy options:

  • A local web server (closest to production) — point Apache or Nginx at the public/ folder, exactly as above.
  • PHP's built-in server (zero config) — from the project root, run the command below, then open http://localhost:8000.
php -S localhost:8000 -t public public/router.php

The bundled router.php gives you clean URLs, and the front controller serves theme and admin assets directly — so styling works out of the box even without configuring asset aliases.

HTTPS is optional locally. TubePress only marks its session cookie Secure when it actually detects HTTPS, so logging in over plain http://localhost works normally. Add TLS when you move to production.

After installation

Log in at /admin with the account you just created and start setting up your site. The first steps guide walks you through site identity, branding, your first videos and a go-live checklist. It is also worth hardening the admin login early — see Security.

The installer locks itself. Once you reach the Complete step, TubePress writes config/installed.php and every /install route is permanently disabled. Do not delete that marker on a live site — it is what keeps the setup wizard from re-opening.

Next steps

Still stuck?

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

Try the live demo → Download TubePress →