Darslik6 min read·20-aprel, 2026

How to Host a Node.js App in Uzbekistan (Free & in Under 2 Minutes)

Step-by-step guide to deploying a Node.js application on if.uz — Uzbekistan's self-hosted PaaS. Free plan, automatic SSL, live subdomain, no DevOps needed.

Finding reliable, affordable hosting for a Node.js app as a developer in Uzbekistan used to mean one of two painful choices: overpay for AWS or DigitalOcean (with high latency from Tashkent), or struggle with cheap local shared hosting that was never designed for modern web apps.

if.uz changes that. It's a self-hosted PaaS built specifically for Uzbekistan — free to start, automatic SSL, and your app is live in under 2 minutes. No Docker knowledge needed, no YAML files, no DevOps.

What You Need Before Starting

  • A GitHub account with your Node.js app in a repository
  • A start script in your package.json (e.g. node index.js or node dist/server.js)
  • Your app reads the port from process.env.PORT — if.uz injects this automatically

Step 1 — Prepare Your package.json

if.uz uses Nixpacks to auto-detect your Node.js app. Make sure your package.json has a start script and lists any build step:

json
{
  "name": "my-api",
  "version": "1.0.0",
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js"
  },
  "engines": {
    "node": ">=18"
  }
}

💡 Tip

Always read the port from process.env.PORT. if.uz assigns a port dynamically. Hard-coding port 3000 will cause the health check to fail.

js
// ✅ Correct — reads PORT from environment
const PORT = process.env.PORT || 3000
app.listen(PORT, () => console.log(`Server running on port ${PORT}`))

Step 2 — Sign Up on if.uz

  1. 1Go to if.uz and click "Get started free"
  2. 2Register with your email and choose a username — this becomes your subdomain prefix
  3. 3Connect your GitHub account when prompted (this lets if.uz access your repos)

Step 3 — Deploy Your Repo

  1. 1In the dashboard, click "Deploy new app"
  2. 2Choose "GitHub Private" or "GitHub Public" depending on your repo visibility
  3. 3Select your repository from the list
  4. 4Choose the branch to deploy (defaults to main)
  5. 5Click Deploy

Nixpacks automatically detects Node.js, installs your dependencies, runs your build script, and starts your app. The whole process takes about 90–120 seconds.

Step 4 — Your App Is Live

Once deployed, your app gets a free subdomain like my-api-username.if.uz with automatic HTTPS. You can see real-time CPU, memory, and network metrics right in the dashboard, plus live log streaming — no SSH required.

Adding Environment Variables

Go to your dashboard → your deployment → "Environment Variables". Add any secrets your app needs (database URL, API keys, etc.). Adding a variable automatically triggers a redeploy.

bash
# These get injected into your app automatically:
DATABASE_URL=postgresql://user:pass@host:5432/mydb
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-secret-here

Setting Up a Database

Need a Postgres or Redis database? Go to the Marketplace tab and deploy one with a single click. The connection string is available immediately and works internally on the platform — no public exposure needed.

Custom Domain (Pro Plan)

On the Pro plan ($9/month), you can connect your own domain — for example api.mycompany.uz. Go to Settings → Custom Domain, enter your domain, and point your DNS CNAME to if.uz. SSL is provisioned automatically via Let's Encrypt.

Summary

FeatureFree PlanPro ($9/mo)
Deployments15
RAM256 MB1 GB
CPU0.25 vCPU1 vCPU
Subdomain*.if.uz*.if.uz
Custom domain
Log retention24h30 days

if.uz is the fastest way to get a Node.js app running in Uzbekistan with a real URL, real SSL, and real monitoring — all for free. Sign up at if.uz and have your first app live in under 2 minutes.

Deploy qilishga tayyormisiz?

Bepul plan, kredit karta kerak emas, 2 daqiqada jonli.

Bepul boshlash →