Deploy / Vue.js
Deploy Vue.js to Your Own Server
To deploy a Vue.js app to your own server, install Temps on a Linux VPS and run up from the project root. Temps detects vite.config.*, builds the app and serves dist/ from its proxy with automatic HTTPS. Nuxt SSR apps run as Node.js containers instead: pick the Node.js preset and give Temps a start command.
Last updated
Detection
Auto-detected from vite.config.js or vite.config.ts: Temps picks the Vite preset, so up needs no flag.
Nuxt isn't detected: choose the Autopack (Node.js) preset (nixpacks-node) and add a Procfile start command. Vue CLI projects aren't detected either; choose the Vite preset, which serves dist/, where Vue CLI writes its output.
How to deploy Vue.js with Temps
Commands run on your machine unless they say otherwise. The CLI runs with bunx or npx.
- 1
Install Temps on a Linux server
On a VPS with at least 2 CPU cores and 4 GB of RAM, download the installer, read it, then run it. It installs Docker if needed, the Temps binary and its database, and asks how the console is reached: an sslip.io address or your own domain.
curl -fsSL https://temps.sh/deploy.sh -o deploy.sh less deploy.sh bash deploy.sh
- 2
Log in from your machine
Point the CLI at your Temps console. It opens a browser to approve the login.
bunx @temps-sdk/cli login https://console.example.com
- 3
Nuxt only: add a start command
A new Nuxt project has no
startscript, so tell Temps how to start the server. Deploy it withup --preset nixpacks-node.Procfileweb: node .output/server/index.mjs
- 4
Set your variables
VITE_values are baked in at build time; Nuxt readsNUXT_runtime config when the server starts.bunx @temps-sdk/cli environments vars set VITE_API_URL "https://api.example.com" -e production bunx @temps-sdk/cli environments vars set NUXT_PUBLIC_API_URL "https://api.example.com" -e production
- 5
Deploy Vue.js
From the project root, run
up. If the directory isn't linked to a project yet, it walks you through creating one first. For a project created from a Git repository, pushes to the tracked branch deploy automatically.bunx @temps-sdk/cli up
How Temps builds and runs Vue.js
Every app runs in a Docker container on your server, behind the Temps proxy. Before traffic switches to a new deployment, Temps health-checks it; if the check fails, the deployment is marked failed and the current version keeps serving.
| Static Vue | Your build script, then dist/ served by the Temps proxy with no container |
|---|---|
| Nuxt SSR | nuxt build, then the start command from your Procfile web: line or start script |
| Routing | Static apps fall back to index.html for client-side routes |
| Caching | Hashed assets get one-year cache headers |
| Variables | VITE_ at build time; NUXT_ runtime config read when the server starts |
What works with Vue.js on Temps
- Auto-detects Vite from
vite.config.* - Static Vue served by the Temps proxy
- Nuxt SSR as a Node.js container
- Runtime config through
NUXT_variables - SPA fallback to
index.html - Preview environments per branch (opt-in)
Environment variables for Vue.js
Set your own with environments vars set or in the project settings; values are encrypted at rest.
| Variable | What it does |
|---|---|
| VITE_* | Embedded into a Vite build at build time |
| NUXT_* | Nuxt runtime config, read when the server starts |
What it costs to self-host Vue.js
Temps is free to self-host under MIT / Apache 2.0, with no per-seat fee and nothing metered, so hosting Vue.js costs what the server costs. A Hetzner CX23 (2 shared vCPU, 4 GB RAM, 40 GB NVMe, 20 TB traffic) meets the minimum Temps needs and is €5.49/month excluding VAT, plus €0.50/month for an IPv4 address; Hetzner sells it in Germany and Finland only. Prices checked October 10, 2026.
| Temps | Free and open source (MIT / Apache 2.0) |
|---|---|
| Server | Hetzner CX23: €5.49/month excluding VAT, plus €0.50/month for IPv4 |
| What Vue.js runs | A static Vue build runs no container: the Temps proxy serves it. A Nuxt SSR app runs one Node.js container. |
| Observability | Web analytics, error tracking, session replay and uptime monitoring are included and run on the same server |
| Temps Premium | Optional: $399 per organisation per month for SAML SSO, SCIM, custom roles, approval gates and a tamper-evident audit log |
For one to three production apps, the server guide recommends 4 vCPU and 8 GB RAM: a Hetzner CX33 is €8.49/month excluding VAT. Any Linux VPS that meets the minimum works; sizes and other providers are in Choosing a server. For what the same app costs on Netlify, see Temps vs Netlify.
Vue.js on Temps: frequently asked questions
Does Temps detect Nuxt automatically?
No. Choose the Autopack (Node.js) preset (nixpacks-node) and add web: node .output/server/index.mjs to a Procfile (or the same command as a start script). Temps runs nuxt build and starts the server on the PORT it injects.
Does a static Vue app need a container on Temps?
No. With the Vite preset, Temps serves the dist/ output from its proxy, with long-lived cache headers for hashed assets and an index.html fallback for Vue Router.
Can I deploy a Vue CLI project?
Yes. Vue CLI projects aren't detected, so choose the Vite preset under Project → Settings → Build & deploy → Build → Framework. It runs your build script and serves dist/.
Included with every Temps project
Deployments, analytics, error tracking, session replay and uptime monitoring run in the same self-hosted platform, so your Vue.js app doesn't need separate subscriptions for them.
Automatic HTTPS
Let's Encrypt certificates for every domain, issued and renewed for you.
Preview deployments
Turn on preview environments and each branch gets its own URL on your domain.
Web analytics
First-party analytics stored on your server. Add the React provider or a script tag.
Error tracking
Sentry-compatible: any Sentry SDK can report to the SENTRY_DSN Temps injects.
Session replay
Off by default. When on, it records the DOM with every input masked.
Uptime monitoring
HTTP monitors for your apps, with alerts through your notification channels.
Related guides
- Every setting for this stack is in the Vue.js deployment reference.
- Which stacks are detected and which need a preset is listed in supported languages and frameworks.
- How health checks, cutover and rollbacks work is covered in Deployments.
- Hosting on Netlify today? See Temps vs Netlify.
Deploy another framework
Deploy Vue.js on a server you own
Temps is free and open source to self-host (MIT / Apache 2.0). You pay only for the server.