Deploy guide · runtime = "node"
Deploy Nuxt 3 on Percher
Nuxt 3 is Vue's fullstack framework, built on Nitro. Auto-imports, file-based routes, server routes under `server/`. On Percher it runs on the Node runtime with the default `node-server` Nitro preset.
Why Percher fits
- Nitro's `node-server` preset produces a `.output/server/index.mjs` Percher runs directly — no platform-specific preset to wire up.
- Auto-forwards `NUXT_PUBLIC_*` env vars (the runtime-config public namespace) plus `VITE_*` for client-side bundle values.
Quick start
bunx percher create my-app --template nuxt
cd my-app
bunx percher publishThe first command scaffolds a working Nuxt 3 project plus a `percher.toml`. Publish builds and deploys it; the live URL prints on completion.
percher.toml
The canonical config for a Nuxt 3 app on Percher. `bunx percher init` generates this automatically when it detects Nuxt 3 in your project.
[app]
name = "my-app"
runtime = "node"
framework = "nuxt"
[build]
command = "bun run build"
output = ".output"
[web]
port = 3000
health = "/api/health"
Common gotchas
- Confirm `nitro: { preset: "node-server" }` (or omit the preset — that's the default). The Vercel/Cloudflare presets won't run on Percher.
- Add a `server/api/health.get.ts` returning `({ status: "ok" })` so the deploy health check passes.
- `runtimeConfig.public.*` reads from `NUXT_PUBLIC_*` env vars; the matching prefix auto-forwards to the build container.
Related docs
Ready to deploy Nuxt 3?
Free plan, no credit card. Live in under a minute.
Sign up free