Deploy guide · runtime = "static"
Ship Static site in ~2 minutes.
Plain HTML, CSS, and JavaScript with no build step. Percher serves the project directory through a minimal Caddy container behind automatic SSL. Right for landing pages, documentation sites, and single-page handouts that don't need a bundler.
Why Percher fits
- Static apps run on Percher's slim Caddy image — a few MB, instant cold start, no Node process to wake up.
- Auto SSL via Let's Encrypt, gzip + zstd compression, and HTTP/3 (h3) come for free with every deploy.
Quick start
bunx percher create my-app --template static
cd my-app
bunx percher publishThe first command scaffolds a working Static site project plus a percher.toml. Publish builds and deploys it, then prints the live URL.
percher.toml
The canonical config for a Static site app on Percher. bunx percher init generates this automatically when it detects Static site in your project.
[app]
name = "my-site"
runtime = "static"
Common gotchas
- The static runtime serves pre-built files only — it rejects a `[build].command`. If you need a build step (Vite, Astro, Eleventy), use `runtime = "docker"` with a multi-stage Dockerfile instead.
- Files are served from the project root by default; set `[build].output = "dist"` (or similar) only if the assets live in a subdirectory.
Related docs
Ready to deploy Static site?
Start on the Free plan. No credit card, live in ~2 minutes.
Sign up free →