Timberdocs

Getting started

Installation

There are three ways to install Timber. They all end the same way: you open your site in a browser and the setup wizard appears.

Option 1 — Upload to a server#

  1. Download the Timber zip from the Timber website and unzip it on your computer.
  2. Read the README.md at the top of the folder — it's a one-page summary of everything here.
  3. Upload the contents to your web root (often public_html, www or htdocs) with FTP/SFTP, your host's file manager, or by dragging the folder in your SFTP client. Make sure the hidden files come along, especially .htaccess.
  4. Open your domain in a browser. You'll land on /padmin/install.
  5. Answer three questions (site title, admin email, password) and press Get Started with Timber. You're in.

Option 2 — Commit and deploy#

Timber is plain files, so it works with any Git-based workflow: GitHub Actions, GitLab CI, Netlify-style pushes to a PHP host, a git pull on a VPS, Forge, Ploi, Coolify, Dokku.

git init && git add . && git commit -m "Add Timber"
git remote add origin [email protected]:you/your-site.git
git push -u origin main
# on the server:
git clone [email protected]:you/your-site.git /var/www/your-site

The included .gitignore already keeps your content out of Git (data/*.json, uploads/*). That's usually what you want — but it has one important consequence:

Option 3 — Run it on localhost#

You only need PHP 8.1+:

cd timber
php -S localhost:8430 router.php

Open <http://localhost:8430>. router.php mirrors the .htaccess rules so everything behaves like production.

To allow bigger uploads (for example a large WordPress export), start it with:

php -d upload_max_filesize=64M -d post_max_size=72M -S localhost:8430 router.php

On macOS, brew install php gets you PHP. On Windows, use the official zip from php.net or Laragon. On Linux, your package manager.

In a subfolder#

Timber works at example.com/blog/ as well as at a domain root — the folder is detected automatically. To force it, set the TIMBER_BASE_PATH environment variable.

What gets created#

On first run Timber writes JSON files into data/ (settings, menus, pages, posts, versions, forms…) and creates uploads/ content as you add media. Nothing else on disk changes. To start over, delete data/*.json (keep data/.htaccess) and reload.

Next#

Timber is open source. Built by indies, for indies. © 2026