Deploy guide · runtime = "node"
Deploy SvelteKit on Percher
SvelteKit is Svelte's fullstack framework — file-based routing, server endpoints, form actions, and a small runtime. On Percher it runs with `adapter-node`, the Node-targeted production adapter.
Why Percher fits
- `adapter-node` writes a single Node entrypoint (`build/index.js`) that Percher runs directly — no platform-specific edge adapter to wire up.
- Auto-forwards `PUBLIC_*` env vars (SvelteKit's client-bundle convention) at build time.
Quick start
bunx percher create my-app --template sveltekit
cd my-app
bunx percher publishThe first command scaffolds a working SvelteKit project plus a `percher.toml`. Publish builds and deploys it; the live URL prints on completion.
percher.toml
The canonical config for a SvelteKit app on Percher. `bunx percher init` generates this automatically when it detects SvelteKit in your project.
[app]
name = "my-app"
runtime = "node"
framework = "sveltekit"
[build]
command = "bun run build"
output = "build"
[web]
port = 3000
health = "/health"
Common gotchas
- Use `output = "build"` — that's the directory `adapter-node` writes. `.svelte-kit/` is an internal cache directory and is not what the production server runs from.
- Add a `+server.ts` at `src/routes/health/+server.ts` returning a `Response` with status 200, otherwise the deploy health check fails.
- Install `@sveltejs/adapter-node` and configure `svelte.config.js` to use it — the default `adapter-auto` won't pick the right target on Percher.
Related docs
Ready to deploy SvelteKit?
Free plan, no credit card. Live in under a minute.
Sign up free