Edge
Nuxt logo

For Nuxt

Nuxt SSR
without the lock-in

Run Nuxt 3 on real VMs with the Nitro Node preset. Image optimisation, S3-compatible storage and a global CDN with zero egress fees — all the platform pieces, none of the platform tax.

# Build with the Nitro Node preset

$ NITRO_PRESET=node-server nuxt build

# Provision a VM

$ edge compute create \

--image ubuntu-24-04 --plan small \

--script ./bootstrap-nuxt.sh

# Front it with the CDN

$ edge cdn create app.example.com \

--origin https://<vm-ip>

✓ Live, SSL provisioned

Why Nuxt teams pick Edge

All the framework features, none of the proprietary glue.

Nitro Node preset on real VMs

Build with the Node preset and run on any Edge VM. No proprietary runtime, no per-invocation pricing, no cold starts.

@nuxt/image, optimised

Wire @nuxt/image to Edge Image Optimization for AVIF/WebP, responsive srcsets and on-the-fly resizing — at the CDN.

S3-compatible asset storage

Store uploads, generated content and ISR-style snapshots in Edge Storage. The AWS SDK works unchanged.

Global CDN with zero egress

Cache the static parts of your Nuxt build globally and let SSR fall through to your VM. No egress fees on the way out.

CI of your choice

Build in GitHub Actions or GitLab CI, ship with the Edge CLI. No platform-specific YAML required.

Agent-deployable

Tell the Edge agent to deploy your Nuxt app to a domain — VM, DNS, CDN and SSL all wired up automatically.

Reference architecture

How Nuxt maps to Edge

A standard Node SSR setup. Familiar tooling, no surprises.

Compute

Runs the Nitro Node server (`node .output/server/index.mjs`)

Storage

S3-compatible bucket for media, ISR snapshots and overflow assets

CDN

Caches the static `_nuxt/` bundle and any cacheable routes

Image Optimization

Powers @nuxt/image with edge-side transforms

DNS

Anycast DNS for the apex, www and per-environment subdomains

# nuxt.config.ts — image optimisation

export default defineNuxtConfig({

image: {

provider: 'edge',

edge: { baseURL: 'https://cdn.example.com' },

},

routeRules: {

'/blog/**': { swr: 3600 },

},

})

Common questions

Does the Nitro Node preset work?

Yes. `nuxt build` produces a standard Node bundle in `.output/`. Run it with `node .output/server/index.mjs` on an Edge VM behind Nginx or Caddy.

Can I use other Nitro presets?

For Edge we recommend the Node preset because it keeps the runtime under your control. The Cloudflare/Vercel presets are tied to those platforms — moving to Edge means Node, which is the most flexible target anyway.

How does ISR / route caching work?

Use Nitro's built-in route rules with `cache: { swr: true }` and back the cache with Edge Storage for multi-VM setups. The CDN handles the heavy lifting for guest traffic.

What about previews?

Spin up an ephemeral VM per branch from CI, point a `*.test.network` subdomain at it, tear it down on PR close. The Edge CLI makes this two lines of YAML.

By Stack

Other stacks on Edge

View all stacks →

Ship Nuxt on Edge

30-day trial of the full platform. Bring an existing Nuxt app or scaffold a new one — we'll help you size the VM.