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.

$ apt Debian family (apt)
  • ca-certificates
  • curl
  • nodejs
$ dnf Red Hat family (dnf)
  • nodejs

From order to ready

  1. 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.
  2. Installer running. It logs to /var/log/vps9-setup.log; tail -f it to watch.
  3. 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 when node --version and pm2 --version answer. pm2 has nothing to run until you start your app.

What you still do

  1. Clone your app and run npm ci.
  2. Start it with pm2 start npm --name app -- start.
  3. Run pm2 save so 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.

Ready when you are

Order a server