Node.js VPS
Node.js and npm from NodeSource's LTS line, with pm2 set to bring your app back after a reboot. You deploy the code and put a proxy with HTTPS in front.
Who it suits
Express, Next.js, NestJS and other Node apps you deploy yourself with Git or rsync. If you'd rather push to deploy from a dashboard, Coolify does that with containers.
Which plan
Budget runs a small API or site. Next.js builds and apps that hold a lot in memory want Standard (4 GB); building on the server takes more memory than running.
What we install
Node.js from NodeSource's LTS setup (the LTS release that is current when your server is built), npm, and pm2 registered with systemd so your apps start at boot. If NodeSource's setup fails, the distribution's own nodejs and npm are installed instead, which can be an older release: node --version tells you which you have.
- ca-certificates
- curl
- nodejs
- nodejs
From order to ready
- Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
- Installer running. It logs to
/var/log/vps9-setup.log;tail -fit to watch. - Application ready. This can be minutes after SSH works. The installer writes its exit code to
/var/lib/vps9-setup.exit; a value of 0 means installation succeeded. Node.js is ready whennode --versionandpm2 --versionanswer. pm2 has nothing to run until you start your app.
What you still do
- Clone your app and run
npm ci. - Start it with
pm2 start npm --name app -- start. - Run
pm2 saveso it comes back after a reboot.
Exposure and security
No ports are opened. Your app listens wherever you tell it: bind it to 127.0.0.1 and put Caddy or nginx with HTTPS in front rather than exposing its port. pm2 is set up for root here, so consider a separate user for anything public.
Backups and upgrades
Updates within the installed Node.js major version arrive with the system's packages; moving to the next LTS line means changing NodeSource's repository yourself. Update pm2 with npm i -g pm2 and pm2 update. Your code and its data are yours to back up. We run the hardware, the network and the first-boot install; after that, Node.js LTS is yours to run, and we don't manage or update it for you. Off-site backups of the whole disk are an optional paid add-on; they copy the disk as it is at one moment, so keep the app's own backups as well.