Static sites
Static sites build in a throwaway container and are served by Caddy straight from disk. No container keeps running.
What gets detected
| Setting | Detected from |
|---|---|
| Package manager | Lockfile: pnpm, npm, yarn or bun |
| Build command | The build script in package.json |
| Node version | .nvmrc or engines, otherwise current LTS |
| Output directory | First of dist, out, build, public, _site |
Set Node version to none for plain HTML repositories without a build step.
Releases and rollback
Each deploy copies the output to its own release folder. A symlink called current is switched atomically, so visitors never see a half-written site. Rolling back moves the symlink back and takes milliseconds. The last five releases are kept.
Single-page apps
Turn on SPA fallback to serve index.html for unknown paths, so client-side routes work on refresh.
Environment variables
Variables on a static site are injected at build time only. Changing one starts a new build.