Deploy guide · runtime = "static"
Deploy Static site on Percher
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; the live URL prints on completion.
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?
Free plan, no credit card. Live in under a minute.
Sign up free