How to Deploy a Node.js App on your server with DollarDeploy
Connect a GitHub repo, pick a server you own, and ship your Node.js app in minutes — with the same push-to-deploy simplicity as a managed PaaS, at a price you chose.
Deploying a Node.js app usually starts simple and ends with a bill. You push some code, click through a dashboard, and get a URL in a few minutes — then a viral moment (or a background job that never sleeps) turns that convenience into a four-figure invoice, on infrastructure you don't own and can't move.
This is a complete guide to deploying a Node.js app on DollarDeploy in 2026: connect a GitHub repo, pick a server you own, and ship. You get the same push-to-deploy simplicity as a managed PaaS — automatic builds, HTTPS, logs, and backups — but the app runs on your server, at a price you chose instead of one you discover at the end of the month.
Prerequisites
To follow along you'll need:
- A GitHub account — DollarDeploy deploys straight from your repo.
- Basic familiarity with Node.js and JavaScript.
- A server you can SSH into — a $5.49/mo Hetzner box, a DigitalOcean droplet, Vultr, or anything with SSH. Don't have one yet? DollarDeploy can provision one for you during setup.
- Optional: a custom domain if you don't want to use the auto-generated subdomain, i.e.
*.id.dollardeploy.app.
No Docker, no Terraform, no Nginx configs, no ssh sessions. That's the point - you get your app running, with HTTPs and reverse proxy configured and working automatically.
What is Node.js?
Node.js is an open-source, event-driven JavaScript runtime built on Chrome's V8 engine. It lets you run JavaScript on the server, which makes it a natural fit for APIs, real-time services, and microservices — the kind of workload that spends most of its time waiting on the network rather than the CPU.
It's also what a huge share of the web already runs on. Netflix, PayPal, LinkedIn, and Uber all lean on Node.js in production. If you built something in Express, Fastify, NestJS, or a plain HTTP server, deploying it should be the easy part. Historically it hasn't been — that's the gap we're closing here.
The app we're deploying
Here's a minimal Express app. It's the whole "Hello, World" surface — two files, no framework magic.
index.js:
const express = require("express");
const app = express();
const port = process.env.PORT || 3000;
app.get("/", (req, res) => {
res.send("Hello from Node.js on my own server 🚀");
});
app.listen(port, () => {
console.log(`Listening on port ${port}`);
});
package.json:
{
"name": "hello-node",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"build": "true",
"start": "node index.js"
},
"dependencies": {
"express": "^4.19.2"
}
}
Two things matter for any host, and DollarDeploy is no exception:
process.env.PORT— never hardcode the port. DollarDeploy injects aPORTand proxies it to your public HTTPS URL. Read it from the environment and fall back to3000for local dev.npm start— thestartscript is your run command. Keep it standard and the platform picks it up with zero config.
Add this to a GitHub repo, or fork a ready made template and you're ready to deploy.
Deploy a Node.js app on DollarDeploy
1. Sign up and connect a server
Create a free account at dollardeploy.com — one server, one app, no credit card. Then add the server your app will run on. You have two options:
-
Bring your own — add your existing server's SSH details.
-
Create new server — Connect your provider (Hetzner, DigitalOcean, Vultr or Verda) and let DollarDeploy provision a fresh server for you. You can use one server to host multiple apps.
DollarDeploy prepares the host automatically: it install Linux updates, sets up the reverse proxy, and requests a Let's Encrypt certificate. You never login via SSH anymore.
2. Connect your GitHub repo
From the dashboard, create a new app and point it at the repository holding your Node.js code. Authorize GitHub once, pick the repo and branch (main), and DollarDeploy reads the rest.
3. Configure the app
Choose React as the app type. In most cases the defaults are correct, and you can proceed without doing and changes. Here is the assumed defaults:
- Build script: build
- Install command: empty ==> assumes
npm install - Start script: start
Add any environment variables your app needs (API keys, database URLs) in the app's Environment tab. They're encrypted at rest and injected at runtime.
4. Deploy
Hit Deploy. DollarDeploy clones the repo, runs your install and build commands, and starts the app as an isolated systemd service — not a container. That's a deliberate choice: no Docker layer means builds and restarts run up to ~5x faster and use less memory, which matters on a small VPS.
When it's done you get a real HTTPS URL (https://your-app.your-server.dollardeploy.app), a live log stream, and monitoring — all on by default. Open the URL and you'll see your Hello from Node.js response served over TLS from a server you own.
What you get out of the box
Everything that's usually a second, third, and fourth project after "it runs locally":
- HTTPS via Let's Encrypt, renewed automatically.
- Logs — 30 days, searchable, no log-drain add-on.
- Backups — on-demand.
- Monitoring — CPU, memory, and health, on by default.
None of it is a paid tier. Included in the Free plan and ready for you to use.
The cost math
This is where self-hosting stops being an ideology and becomes an invoice you'll actually prefer.
| Node.js app, small production workload | |
|---|---|
| DollarDeploy + Hetzner | ~$12.09/mo (DollarDeploy $5 + Hetzner CX22 $7.09) |
| Vercel | $20/mo, before bandwidth or any addons |
| AWS | ~$33/mo for a comparable always-on setup |
The difference isn't just the price - self-hosting brings you ownership, control and functionality you will not match with serverless platform like Vercel. Vercel per-request pricing means that a good launch (Hacker News front page) might become an expensive disaster. On a server you own, a traffic spike is just traffic. Hetzner includes 20 TB of transfer; overages are $0.01/TB, not $0.15/GB.
Next steps: taking your app further
Once the basics are live, the same platform grows with the app:
- Add a database — PostgreSQL, Redis, MongoDB, or MariaDB as a one-click managed service on the same host, with the connection string wired into your app's env. It is also easy to run Postgres locally
- Set up continuous deployment — toggle to have every push to
maintrigger a new build automatically. - Add a custom domain — point your DNS at the server and DollarDeploy handles the certificate.
- Deploy or troubleshoot with AI — DollarDeploy's MCP server lets you deploy and troubleshoot from Claude, Cursor, or Windsurf in natural language, with cost caps, scoped tools so the agent can't run up a surprise bill.
- Scale out — add more servers and apps as you need them; you pay $1/mo per extra app or a server.
Wrapping up
Deploying a Node.js app doesn't have to mean choosing between "easy but expensive and locked-in" and "cheap but you're now a part-time sysadmin."
DollarDeploy gives you the one click deploy workflow you want, on infrastructure you own, at a price that doesn't suprise your.
Push your code, pick a server, and get a real URL in a few minutes — try it free, one app and one server, no card required.