Skip to main content
Percher is still being built, but you can try it out with a free account right now!
← All deploy guides
Deploy guide · runtime = "docker"

Ship Vue (Vite SPA) in ~2 minutes.

Vue 3 SPA on Vite. Same build shape and runtime as the React variant — a multi-stage Docker build where Bun compiles and Caddy serves the static bundle.

Why Percher fits

  • Bun-based build stage handles Vue's SFC compilation faster than the equivalent Node setup; redeploys with unchanged deps finish in ~15 s.
  • Caddy's HTTP/3 + compression are on by default for the served bundle.

Quick start

bunx percher create my-app --template vite-vue
cd my-app
bunx percher publish

The first command scaffolds a working Vue (Vite SPA) project plus a percher.toml. Publish builds and deploys it, then prints the live URL.

percher.toml

The canonical config for a Vue (Vite SPA) app on Percher. bunx percher init generates this automatically when it detects Vue (Vite SPA) in your project.

[app]
name = "my-app"
runtime = "docker"
framework = "vite"

[web]
port = 8080
health = "/"

Common gotchas

  • Use `VITE_*` env var prefix for anything you want available in the browser bundle (Vue convention is identical to React on this).
  • Vue Router in `history` mode needs the same `try_files` SPA fallback the generated Caddyfile provides — works out of the box if you let `init` scaffold the Caddyfile.

Related docs

Ready to deploy Vue (Vite SPA)?

Start on the Free plan. No credit card, live in ~2 minutes.

Sign up free →