[{"data":1,"prerenderedAt":107},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-sveltekit-stack":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-en-sveltekit-stack",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":19,"github":19,"tagline":21,"longDescription":22,"features":23,"useCases":30,"steps":40,"faq":56,"specs":72,"compatibleOs":79,"relatedApps":81,"relatedPosts":101,"category":104},"sveltekit-stack",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","SvelteKit Stack","Node.js LTS, PM2 and Nginx preconfigured for SvelteKit. Deploy your app in SSR or static mode on your own VPS in production.",1,null,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fdeploying-a-sveltekit-application-on-a-vps","SvelteKit Stack — Node.js LTS, PM2 and Nginx preconfigured for SSR or static SvelteKit production deployments.","SvelteKit Stack provisions your VPS with the complete toolchain a SvelteKit project needs in production: Node.js LTS from the official NodeSource repository, PM2 for zero-downtime process management, and Nginx as the TLS-terminating reverse proxy.\n\nSvelteKit's adapter-node produces a standalone Node server — a persistent process that keeps database connections open and responds without cold starts. Form actions, server-side `load` functions, and `+server.ts` endpoints all run in a single runtime you control. Unlike serverless deployments, you avoid per-invocation billing and execution time limits.",[24,25,26,27,28,29],"Node.js LTS from the official NodeSource repository — the current stable release, not the outdated distro package.","PM2 process manager — zero-downtime reloads, log rotation, startup scripts, and cluster mode for multi-core VPS.","Nginx reverse proxy with gzip compression and long-lived Cache-Control headers for versioned static assets.","Compatible with SvelteKit's `@sveltejs\u002Fadapter-node` for standalone SSR and `adapter-static` for fully pre-rendered sites.","No cold starts — the Node server process is persistent, keeping database connections pooled between requests.","WebSockets and SSE supported, enabling real-time features that serverless platforms restrict or complicate.",[31,34,37],{"title":32,"body":33},"SSR web application","Deploy a full SvelteKit app with form actions, server-side `load` functions, and API endpoints. PM2 supervises the Node process with automatic restart and zero-downtime reloads between deployments.",{"title":35,"body":36},"Static site hosting","Build your project with `adapter-static`, upload the `build\u002F` folder, and serve it from Nginx with no Node process running. Near-zero memory footprint and instant response times.",{"title":38,"body":39},"API backend for a SvelteKit frontend","Co-host your SvelteKit frontend and a REST API on the same VPS. Nginx routes `\u002Fapi\u002F*` requests to a separate service while SvelteKit handles everything else — all behind a single TLS-terminated domain.",[41,44,47,50,53],{"title":42,"body":43},"Create the VPS","Select the SvelteKit Stack template. 1 GB RAM is sufficient for a static site; 2 GB for SSR with PM2 and a co-hosted database.",{"title":45,"body":46},"Configure the adapter","In `svelte.config.js`, set `adapter: node()` from `@sveltejs\u002Fadapter-node` for SSR, or `adapter: static()` from `@sveltejs\u002Fadapter-static` for a fully pre-rendered site.",{"title":48,"body":49},"First access","This template installs a toolchain (Node.js LTS, PM2, Nginx). There is no web interface to open — connect via SSH and deploy your own SvelteKit project.",{"title":51,"body":52},"Build and deploy","Run `npm run build` locally or in CI. Transfer the `build\u002F` folder to the VPS and start with `pm2 start build\u002Findex.js --name svelte-app`. Set `ORIGIN=https:\u002F\u002Fyourdomain.com` — required for form action CSRF validation.",{"title":54,"body":55},"Configure Nginx","Proxy requests to `http:\u002F\u002F127.0.0.1:3000` with appropriate `proxy_set_header` directives. Enable `proxy_http_version 1.1` and the `Upgrade` header if your app uses WebSockets. Obtain a Let's Encrypt certificate with Certbot.",[57,60,63,66,69],{"q":58,"a":59},"What is the difference between SvelteKit Stack and Astro Stack?","Both install Node.js LTS, PM2, and Nginx. SvelteKit targets reactive web applications with form actions, server-side `load` functions, and real-time features. Astro targets content sites and hybrid rendering — it ships zero JavaScript by default and runs a lighter Node process for SSR pages.",{"q":61,"a":62},"Can I deploy a fully static SvelteKit site?","Yes. Configure `@sveltejs\u002Fadapter-static`, build your project, and serve the `build\u002F` folder from Nginx. No Node process runs at runtime — Nginx serves static files directly with minimal resource usage.",{"q":64,"a":65},"How do I handle environment variables in production?","Pass environment variables to PM2 via an ecosystem config file or directly on the command line: `pm2 start build\u002Findex.js --env production`. SvelteKit reads them at startup. `ORIGIN` is mandatory — form actions reject requests if it does not match the actual URL.",{"q":67,"a":68},"Can I host multiple SvelteKit apps on the same VPS?","Yes. Run each app as a separate PM2 process on a different internal port (3000, 3001, etc.). Nginx routes requests by domain or path using separate `server {}` blocks or `location` rules.",{"q":70,"a":71},"What minimum RAM do you recommend for SSR?","2 GB of RAM is a comfortable baseline for a single SvelteKit SSR app. If you co-host a database or add multiple PM2 workers in cluster mode, plan for at least 4 GB.",{"ram":73,"cpu":74,"stack":75},"1 GB (static), 2 GB (SSR)","1 vCPU",[76,77,78],"Node.js LTS","PM2","Nginx",[80],"ubuntu-24.04",[82,89,95],{"name":83,"slug":84,"categorySlug":13,"categoryName":85,"categoryColor":86,"logo":19,"tagline":87,"description":88},"Astro Stack","astro-stack","Development","text-warning bg-warning\u002F10","Astro Stack — Node.js LTS, PM2 and Nginx preconfigured for static or SSR Astro deployments.","Node.js LTS, PM2 and Nginx preconfigured for Astro. Deploy your SSR or static Astro sites on your own infrastructure.",{"name":90,"slug":91,"categorySlug":13,"categoryName":85,"categoryColor":86,"logo":92,"tagline":93,"description":94},"Node.js Stack","nodejs-stack","https:\u002F\u002Fcdn.simpleicons.org\u002Fnodedotjs","Node.js, PM2, Nginx and a database — a production environment for your JavaScript APIs and apps.","Node.js with PM2, an Nginx reverse proxy and a database. Your JavaScript APIs and applications ready to take traffic.",{"name":96,"slug":97,"categorySlug":13,"categoryName":85,"categoryColor":86,"logo":98,"tagline":99,"description":100},"Nuxt Stack","nuxt-stack","https:\u002F\u002Fcdn.simpleicons.org\u002Fnuxt","Nuxt 3 with SSR, PostgreSQL and a reverse proxy — a production environment for your Vue.js apps.","Nuxt 3 with SSR, PostgreSQL and a reverse proxy. A production environment for your Vue.js applications.",[102,103],"deployer-sveltekit-vps","deployer-astro-vps",{"key":12,"slug":13,"name":85,"objective":105,"icon":106,"color":86},"Kick off a software project quickly.","dev",1793820429653]