2026-03-28·5 min read·sota.io team

How to Deploy a Node.js App in 5 Minutes — No DevOps Required

You have a Node.js app running on localhost. Getting it live on the internet should not require three hours of Dockerfile debugging, a lesson in Kubernetes, or a credit card attached to a cloud provider with a wall of checkboxes. This guide shows you how to deploy a Node.js app in under 5 minutes using sota.io — a deployment platform built for developers who want to ship, not babysit infrastructure.

What You Need Before You Start

That is it. No Dockerfile. No docker-compose.yml. No cloud provider IAM policies.

Step 1: Prepare Your Node.js App

Make sure your package.json has a start script that sota.io can use to run your app:

{
  "scripts": {
    "start": "node index.js"
  }
}

If your app uses Express, Fastify, Koa, or any other framework, the same pattern applies. sota.io detects the Node.js runtime automatically — you do not need to specify a Node version unless you want to pin one.

Your app should listen on process.env.PORT rather than a hardcoded port:

const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Running on port ${port}`));

sota.io injects PORT automatically at runtime. This is standard practice for any cloud deployment.

Step 2: Create a New Project on sota.io

Log in to sota.io and create a new project. Give it a name — this becomes part of your deployment URL (e.g. your-app.sota.io).

You can deploy from:

For a straightforward Node.js app, the CLI approach is the fastest path.

Step 3: Deploy

Option A — Deploy via CLI

Install the sota CLI:

npm install -g @sota-io/cli

From your project directory:

sota deploy

The CLI packages your project, uploads it, and returns a live URL. Subsequent deploys are incremental — only changed files are uploaded, so re-deploys after code changes are typically under 30 seconds.

Option B — Deploy via Git URL

Paste your repository URL into sota.io. It clones the repo, detects Node.js, installs dependencies with npm install, and runs npm start. The entire process takes about 60 to 90 seconds.

You get a live HTTPS URL when it is done. No DNS setup. No SSL certificate management. Both are handled automatically.

Step 4: Set Environment Variables

Most Node.js apps need environment variables — database URLs, API keys, JWT secrets. In sota.io, go to your project settings and add them under Environment Variables. They are injected at runtime and never stored in your codebase.

DATABASE_URL=postgres://...
JWT_SECRET=your-secret-here
NODE_ENV=production

Changes to environment variables trigger an automatic re-deploy. No manual restarts.

Step 5: Connect a Custom Domain (Optional)

Your app is already live at your-app.sota.io. If you want it on your own domain, add a CNAME record pointing to sota.io and then add the domain in your project settings. HTTPS is provisioned automatically via Let's Encrypt.

Why sota.io for Node.js Hosting

There are other options for cloud deployment — Railway, Render, Heroku. Here is what makes sota.io worth trying:

Common Issues and Fixes

App crashes on startup: Check that you are using process.env.PORT and not a hardcoded port. This is the most common reason a Node.js app works locally but fails on any cloud platform.

Missing dependencies: Make sure all dependencies are in dependencies, not just devDependencies. sota.io runs npm install --production by default.

Build step required: If your app needs a build step (e.g. TypeScript compilation), add a build script to package.json. sota.io runs npm run build before npm start if the script exists.

Ship It

Cloud deployment for Node.js does not have to be an afternoon project. With sota.io, you go from working code on your laptop to a live HTTPS URL in the time it takes to drink a coffee.

Start your free deploy on sota.io — no credit card required.


See also: Deploy Node.js to Europe in 60 Seconds · Railway Alternative — EU-Native Hosting · Deploy Next.js to Europe