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
- A Node.js app with a
startscript inpackage.json - Your code in a Git repository (GitHub, GitLab, or a local folder)
- A sota.io account (free tier available)
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:
- Git URL — paste your GitHub or GitLab repo URL
- CLI — push from your terminal with
sota deploy
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:
- EU-native infrastructure — your Node.js app runs in Europe by default. Better latency for European users, GDPR-friendly by design.
- No cold starts — unlike serverless platforms, your Node.js process stays warm. Consistent response times.
- Simple pricing — no surprise bills. The free tier covers small apps and side projects with no time limit.
- Claude Code compatible — sota.io was built with AI-assisted development in mind. If you are using Claude Code or another AI coding tool to build your app, deploying to sota.io fits naturally into that workflow.
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