Deploy Docusaurus on Temps
Temps detects Docusaurus v2 and v3 from docusaurus.config.js or docusaurus.config.ts, runs your build and serves build/ as static files from its proxy with automatic HTTPS — no container runs at runtime.
This guide describes how the nightly release channel builds your app, using the Autopack builder. Beta (v0.1.0-beta.56) also builds with Autopack, but some details below may differ. Earlier releases and the stable channel build with Nixpacks and behave differently. To run nightly, see Release channels.
Every framework and the preset it needs is listed under Supported platforms. For other static sites, see the React and Astro guides.
Quickstart
From your project root, deploy with your preferred package manager:
npx @temps-sdk/cli up
Temps detects your docusaurus.config.js or docusaurus.config.ts and uses the Docusaurus preset. It installs dependencies with the package manager your lockfile points to, so commit your lockfile (for example package-lock.json). It then runs the build script (for example npm run build) and serves the build/ directory. Your site is live with HTTPS in a few minutes.
What Temps handles automatically
| Feature | How Temps handles it |
|---|---|
| Detection | docusaurus.config.js or docusaurus.config.ts |
| Build | Your package manager's build script |
| Output | Serves build/ |
| HTTPS | Let's Encrypt certificate, auto-renewed |
| Runtime cost | Zero — static files served from the proxy |
Build output
The Docusaurus preset always serves build/, Docusaurus' default output directory, and doesn't use build.output_dir from .temps.yaml. Keep the default output directory, without passing --out-dir to docusaurus build.
Caching
Docusaurus generates a real HTML file for every route, so navigation works without any rewrite rules. The Temps proxy sets these headers on all static responses automatically.
The Temps proxy sends ETags with static files, so a browser that already has an unchanged file gets 304 Not Modified instead of downloading it again. The proxy doesn't compress static files.
Cache-Control headers are set based on the file path:
| Pattern | Cache-Control | Use case |
|---|---|---|
/assets/*, /static/*, /_next/static/*, .chunk.*, .hash.* | public, max-age=31536000, immutable | Hashed assets that never change |
| Everything else | public, max-age=0, must-revalidate | HTML files and non-hashed resources |
Your hashed JS and CSS bundles are cached for a year, while index.html is always revalidated so new deployments are picked up immediately.