Skip to main content
PercherPercher

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 publish

The 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

← Browse all deploy guides