Shared hosting can’t run a persistent Node.js process — no root access, no way to keep a server daemon alive. If you want to host Node.js on DreamHost, a VPS plan is the path: full root access, dedicated RAM, and no platform-as-a-service execution limits or per-request billing.
This guide covers DreamHost Node.js hosting pricing, which VPS plan fits your app, and the full deployment path from a blank server to a production Node app behind SSL.

Can You Host Node.js on DreamHost?
Yes. DreamHost doesn’t offer Node.js as a shared-hosting feature — Node needs a process that stays running, which shared plans don’t support. Instead, it lives on DreamHost VPS, where you get:
- Full root access to install any Node.js version
- A one-click Node.js VPS template (Ubuntu 24.04, Node.js, PM2, Nginx, Certbot preconfigured)
- Unmetered bandwidth and no cold-start or execution-timeout limits, unlike serverless/PaaS platforms
That template is the fastest path to a DreamHost Node.js VPS; the manual path below is for anyone who wants a custom OS setup or already has a VPS running.
DreamHost Node.js Hosting Pricing
DreamHost’s VPS plans all support Node.js — the difference is RAM, cores, and storage. Based on DreamHost’s current published lineup:
| Plan | RAM | Storage (NVMe) | Starting Price* |
|---|---|---|---|
| VPS Basic | 1 GB | 30 GB | ~$10/mo |
| VPS Business | 2 GB | 60 GB | ~$20/mo |
| VPS Professional | 4 GB | 120 GB | ~$20–30/mo |
| VPS Enterprise | 8 GB | 240 GB | ~$40/mo |
| VPS Premier | 12 GB | 360 GB | ~$60/mo |
*Promotional pricing for new sign-ups; renewal rates are higher. Confirm exact current pricing on DreamHost’s VPS page before publishing a number in print.
Which VPS Plan Do You Need?
- VPS Basic (1GB) — a single lightweight API, webhook receiver, or low-traffic bot. Tight, but workable for one small process.
- VPS Business (2GB) — one production Node app with modest traffic, or a Node app plus a small database on the same box.
- VPS Professional (4GB) — the realistic baseline for a real production app: Node + PM2 + Nginx + a database (Postgres/MongoDB), or an automation tool like n8n.
- VPS Enterprise (8GB)+ — high-concurrency apps, WebSocket-heavy real-time apps, or multiple Node services on one box.

If you’re unsure, size up one tier from what looks “enough” — Node processes plus a database plus Nginx overhead adds up faster than a single app’s memory footprint suggests.
How to Deploy Node.js on DreamHost VPS
1. Update the server
bash
sudo apt update && sudo apt upgrade -y
2. Install Node.js LTS
As of late 2026, Node.js 24.x (“Krypton”) is the Active LTS release; Node.js 26 moves to LTS in October 2026. Use NodeSource to install the current LTS rather than the distro’s default repo, which is usually outdated:
bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
node -v && npm -v
3. Set up your app directory
If you’re using DreamHost’s automated Node.js template, Nginx is pre-wired to proxy from a specific directory — check your template’s default path before creating your own. On a manual/blank VPS, any directory works:
bash
mkdir -p ~/apps/my-node-app
cd ~/apps/my-node-app
Node.js + PM2 Setup
Node crashes on unhandled exceptions with nothing to restart it — PM2 keeps your app alive and revives it on reboot:
bash
sudo npm install -g pm2
pm2 start server.js --name "node-app"
pm2 startup systemd
# run the command PM2 outputs
pm2 save
Nginx Reverse Proxy
Don’t expose Node directly on ports 80/443 — let Nginx front the traffic and proxy to your app’s local port:
nginx
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
bash
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Connect Domain + SSL
Point your domain’s A record at the VPS IP, then issue a free certificate:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot handles renewal automatically and can enable HTTP→HTTPS redirection during setup.
Deploy From GitHub
bash
git clone https://github.com/yourname/yourapp.git .
npm install --production
pm2 restart node-app
For ongoing deploys, a simple git pull && npm install --production && pm2 restart node-app script (or a basic CI job that SSHes in and runs it) covers most small-to-mid projects without needing a full CI/CD platform.
Hosting Express/REST API/WebSocket Apps
- Express/REST APIs — this setup (PM2 + Nginx reverse proxy) is exactly what most REST APIs need; add rate limiting at the Nginx layer if the API is public.
- WebSocket apps — the
Upgrade/Connectionheaders in the Nginx config above are required for WebSocket traffic to pass through the proxy correctly; without them, connections will fail silently. - Multiple services on one VPS — run each on its own port, give each its own PM2 process name, and add a separate Nginx
serverblock (or subdomain) per service.
Security & Backups
- Restrict SSH to key-based auth; disable password login
- Firewall everything except 22/80/443 (
ufwis the simplest option on Ubuntu) - Keep Node.js and npm packages patched — run
npm auditperiodically - Enable DreamHost’s VPS backup/snapshot option, separate from your app’s own database backups
- Run your Node process as a non-root user under PM2
DreamHost Node.js vs Other VPS Options
DreamHost’s advantage for Node hosting is the one-click template — Node, PM2, Nginx, and Certbot preconfigured, versus building that stack by hand on a generic Linux VPS from another provider. If you’re comparing against a bare-bones VPS elsewhere, factor in the setup time you’re saving, not just the monthly rate. Against PaaS platforms (Heroku, Render, Railway), DreamHost trades some deployment convenience for no execution timeouts, no per-dyno pricing, and flat-rate billing regardless of traffic.
Who Should Use It?
- Developers running a persistent Node API or backend service
- Agencies hosting Node apps for multiple clients on one VPS
- Anyone self-hosting Node-based tools (automation platforms, internal dashboards)
- Projects that have outgrown serverless/PaaS execution or cost limits but don’t need a dedicated server yet
It’s a weaker fit if you want zero server management — a managed PaaS will always be less hands-on than a VPS, even a preconfigured one.
Ready to deploy Node.js on a VPS built for it? Get DreamHost VPS hosting →
Continue exploring: DreamHost VPS Review · Docker VPS Hosting Guide · n8n Hosting Guide
Comments
Join the discussion
Sign in to leave a comment. It keeps the conversation civil and means you never have to type your name and email again.