Skip to content

Deploy a Site

  1. Open the Create Site wizard

    Go to Sites → New Site.

  2. Choose a source

    SourceUse when
    BlankEmpty directory, configure manually
    WordPressInstall WordPress via WP-CLI
    TemplatePick from 13 built-in starter templates
    GitHubClone from a GitHub repository
    GitLabClone from a GitLab repository
    BitbucketClone from a Bitbucket repository
    ZIPUpload a ZIP archive
  3. Configure the runtime

    Select your runtime and version:

    • PHP — 8.1, 8.2, 8.3, 8.4 (with EOL and security-only badges)
    • Node.js — 20 LTS, 22 LTS, 24
    • Python — 3.11, 3.12, 3.13
    • Go — 1.22, 1.23, 1.24
    • Rust — stable, beta
    • Ruby — 3.2, 3.3, 3.4
    • .NET — 8, 9
  4. Set the domain

    Enter the primary domain (e.g. example.com). Tundra automatically:

    • Provisions a Caddy vhost
    • Requests a TLS certificate from Let’s Encrypt
  5. Choose a server

    Select which enrolled server to deploy to.

  6. Create

    Tundra provisions the site directory, configures the web server and runtime, and shows deployment logs in real time.

Every push to the site triggers a 6-stage blue/green deployment:

clone → build → release-dir → env-write → symlink-swap → prune

The live directory is an atomic symlink swap — zero-downtime. Tundra keeps the last 5 releases for instant rollback.

Go to Sites → [site] → Deployments, find any previous deployment, and click Roll back. The symlink swaps back in milliseconds.

Tundra ships 13 built-in templates:

  • WordPress — full WP install via WP-CLI
  • WooCommerce — WordPress + WooCommerce plugin
  • Laravel — Laravel with Vite frontend

Add environment variables in Sites → [site] → Settings → Environment.
Secret values are encrypted at rest with AES-256-GCM.