Getting started
Requirements
Timber needs very little. If you can run PHP, you can run Timber.
The checklist#
| Requirement | Needed? | Notes |
|---|---|---|
| PHP 8.1 or newer | Required | 8.2, 8.3, 8.4 and 8.5 are fine |
json, mbstring extensions | Required | Enabled almost everywhere by default |
Writable data/ folder | Required | Where your content lives |
Writable uploads/ folder | Recommended | The media library |
fileinfo extension | Recommended | Checks that uploads really are what they claim |
curl extension | Recommended | Email APIs, webhooks, the WordPress migrator's crawl |
zip extension | Recommended | Site backups and reading WordPress theme .zip files |
| A web server with URL rewriting | Required | Apache/LiteSpeed (.htaccess included), nginx (config included), or PHP's built-in server for local dev |
| HTTPS | Strongly recommended | The admin cookie becomes Secure automatically |
| A database | Not needed | Timber uses JSON files |
| Composer / Node | Not needed | Nothing 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;
.htaccessdoes 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_filesizeandpost_max_sizemust be at least that large. The bundled.htaccessand.user.iniraise them to 64–72 MB where the host allows it. - JSON storage is comfortable up to a few thousand records. See Data & storage.