Timberdocs

Getting started

Requirements

Timber needs very little. If you can run PHP, you can run Timber.

The checklist#

RequirementNeeded?Notes
PHP 8.1 or newerRequired8.2, 8.3, 8.4 and 8.5 are fine
json, mbstring extensionsRequiredEnabled almost everywhere by default
Writable data/ folderRequiredWhere your content lives
Writable uploads/ folderRecommendedThe media library
fileinfo extensionRecommendedChecks that uploads really are what they claim
curl extensionRecommendedEmail APIs, webhooks, the WordPress migrator's crawl
zip extensionRecommendedSite backups and reading WordPress theme .zip files
A web server with URL rewritingRequiredApache/LiteSpeed (.htaccess included), nginx (config included), or PHP's built-in server for local dev
HTTPSStrongly recommendedThe admin cookie becomes Secure automatically
A databaseNot neededTimber uses JSON files
Composer / NodeNot neededNothing to install

The installer checks all of this for you and tells you exactly what to fix, in plain English.

Hosting that works#

Timber has been designed for the full range of hosting people actually use:

  • Shared hosting / cPanel / LiteSpeed — upload by FTP or the file manager; .htaccess does the rest.
  • A VPS — nginx + PHP-FPM with the example config in _dev/nginx.conf.example.
  • Managed panels — CloudPanel (a ready vhost is included), Plesk, Forge, RunCloud, Ploi.
  • Your own computer — one command with php -S.
  • Git-based deploys — see Deploying anywhere.

Size and limits#

  • The CMS itself is around 1.7 MB. Your content adds JSON files and your uploads.
  • Media uploads are capped at 50 MB per file by Timber; your server's upload_max_filesize and post_max_size must be at least that large. The bundled .htaccess and .user.ini raise them to 64–72 MB where the host allows it.
  • JSON storage is comfortable up to a few thousand records. See Data & storage.
Timber is open source. Built by indies, for indies. © 2026