You’ve built a Node.js app. Maybe it’s an Express API. Maybe it’s a Next.js site. Maybe Claude Code wrote the whole thing for you in 10 minutes. Either way, it works on localhost.

Now you need it online. And somehow that’s still the hard part.

The Usual Way

If you’ve deployed a Node.js app before, you know the drill:

  1. Spin up a VPS on DigitalOcean or Hetzner
  2. SSH in, install Node.js
  3. Configure nginx as a reverse proxy
  4. Set up SSL with certbot
  5. Create a systemd service so it doesn’t die
  6. Configure your firewall
  7. Set up a domain and DNS records
  8. Figure out how to get your code on the server (scp? git clone? rsync?)

That’s 30 minutes if you’ve done it before. Upwards of 2 hours if you haven’t. For a side project that took 5 minutes to build.

Or you go with Vercel/Netlify, but those are built for frontends. If your app has a backend, a database, file uploads, or anything that needs a real server — you’re back to the VPS route.

The One-Command Way

Here’s the same deploy on InstaPods:

$ instapods deploy my-app

  Deploying my-app
  Detected nodejs (package.json)

  Creating pod ·················· ✓ 1.2s
  42 files uploaded ············· ✓ 0.8s
  Reloading ····················· ✓ 1.4s
    15 deps installed · service active · HTTP 200

✓ Deployed in 3.4s
→ https://my-app.instapods.app

That’s it. Your app is live at a public URL with HTTPS. No configuration files. No Docker. No YAML.

Let me walk through what’s actually happening.

Step 1: Install the CLI

$ curl -fsSL https://instapods.com/install.sh | sh

This installs the instapods binary. Works on macOS and Linux.

Step 2: Log In

$ instapods login
Opening browser to log in...
Logged in as you@email.com

Opens your browser for a quick OAuth login. One time only — your session is saved locally.

Step 3: Deploy

$ cd ~/my-express-app
$ instapods deploy my-app

The CLI looks at your project directory, detects package.json, and knows it’s a Node.js app. Then it:

  1. Creates a pod — a real Linux server with Node.js 20 pre-installed, nginx configured as a reverse proxy, and SSL already set up
  2. Uploads your files — sends your source code to the pod (skipping node_modules, .git, .env automatically)
  3. Reloads the service — runs npm install, restarts your app, and verifies it’s healthy

The whole thing takes a few seconds. You get a live URL at https://my-app.instapods.app.

What You Get

Your pod isn’t a container-as-a-service black box. It’s a real Linux server:

It’s the control of a VPS with zero setup.

Updating Your App

Made changes? Same command:

$ instapods deploy my-app

  Deploying my-app
  Pod exists (nodejs · running)

  42 files uploaded ············· ✓ 0.8s
  Reloading ····················· ✓ 0.6s
    service active · HTTP 200

✓ Deployed in 1.4s
→ https://my-app.instapods.app

It detects the pod already exists, syncs your changes, and reloads. Under 2 seconds.

You can also connect a GitHub repo for auto-deploy on push:

$ instapods git connect my-app --repo yourname/my-app --branch main

After that, every push to main triggers a deploy automatically.

Works with Any Node.js Framework

Express, Fastify, Hono, Next.js, Nuxt, Remix, Hapi — if it runs with node or npm start, it works. The pod detects your start script from package.json and runs it.

A minimal Express app is all you need:

// index.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.json({ status: 'live', deployed: new Date().toISOString() });
});

app.listen(3000, () => console.log('Running on port 3000'));
// package.json
{
  "name": "my-app",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.18.0"
  }
}
$ instapods deploy my-api

Live in seconds.

What About Databases?

You can use SQLite directly — it’s just a file on disk, and your pod has a persistent file system.

Need MySQL, PostgreSQL, or Redis? Install them as services:

$ instapods services add my-app --service mysql
$ instapods services creds my-app --service mysql

Database runs inside your pod. Credentials are auto-generated. No external service to configure.

Pricing

Starts at $3/mo for the Launch plan (0.5 vCPU, 512MB RAM, 10GB disk). The Build plan at $7/mo gives you 1 vCPU and 1GB RAM — plenty for most apps.

Flat pricing. No bandwidth charges. No per-request billing. No surprise bills at the end of the month.

TL;DR

  1. curl -fsSL https://instapods.com/install.sh | sh
  2. instapods login
  3. instapods deploy my-app

Three commands. Your Node.js app is live with HTTPS on a real server. Takes about 10 seconds after the first login.


Try InstaPods → — Deploy your Node.js app in seconds. Starts at $3/mo.