Chat on WhatsApp

How to Self-Host n8n in India: VPS Setup Guide for Indian Businesses (2026)

n8n self-hosted on DigitalOcean Mumbai costs ₹500/month for unlimited automations. Step-by-step setup: Docker, SSL with Caddy, Asia/Kolkata timezone, backups. All data stays in India for DPDP compliance.

6 May 2026 11 min read
Key Takeaways
  • n8n self-hosted on DigitalOcean Mumbai costs ₹500/month for unlimited automations. Step-by-step setup: Docker, SSL with Caddy, Asia/Kolkata timezone, backups. All data stays in India for DPDP compliance.
  • Use this as an automation tools checklist for how to self-host n8n in india, not as a substitute for checking current official or platform rules.
  • Confirm API limits, authentication, webhook payloads, pricing, and compliance rules against the source links before filing, buying software, changing campaigns, or changing a workflow.
Self-hosted n8n India setup visual showing VPS Docker SSL backups and workflow automation server

n8n self-hosted gives you unlimited workflow automations for ₹500–2,000 per month, with zero per-execution charges and all your data sitting on your own server in India. n8n Cloud Pro costs ₹4,500 per month and caps you at 10,000 executions (n8n.io, 2026). The trade-off is setup time: roughly one to two hours upfront. This guide walks through that setup step by step, using a DigitalOcean Mumbai droplet as the target server. By the end, you'll have n8n running at your own domain with SSL, automated backups, and the right timezone for IST-scheduled workflows.

Key Takeaways
  • n8n self-hosted is free software (MIT license). You pay only for the VPS: ₹500–2,000/month in India.
  • DigitalOcean Mumbai, AWS Mumbai, and Vultr Mumbai keep your data inside India, supporting DPDP Act compliance.
  • Setup takes 1–2 hours using Docker and Caddy. Ongoing maintenance is about 30 minutes per month.
  • n8n's 1,300+ integrations are available on self-hosted at no extra cost, same as the cloud version. (tech-insider.org, 2026)

Why self-host n8n instead of using the cloud version?

n8n has 230,000+ active users globally as of 2026 (Flowlyn, 2026). A large share of those users run the self-hosted version specifically because the economics are hard to argue with: unlimited executions for the cost of a cheap VPS, compared to ₹1,800–4,500 per month for capped cloud plans.

The cost difference compounds at volume. Self-hosted n8n on a ₹500/month DigitalOcean Mumbai droplet handles 100,000 workflow runs the same month it handles 1,000. The price doesn't change. n8n Cloud Pro at ₹4,500/month stops you at 10,000 executions, then charges more (n8n.io, 2026).

Data residency is the second reason. n8n Cloud runs on EU servers. Every piece of customer data your workflows touch, phone numbers, order details, financial records, passes through those EU servers. Self-hosted n8n on a Mumbai server keeps everything inside India. For businesses with DPDP Act obligations, that's a clean compliance story.

There's a third reason: full control. Self-hosted n8n lets you install custom nodes, run arbitrary code inside workflows, connect directly to your own databases, and configure environment variables that cloud plans restrict or don't expose at all.

When self-hosting is NOT the right choice

Self-hosting isn't for everyone. If your team has no developer or Linux-comfortable person, the setup and maintenance burden lands on the wrong shoulders. If you're running fewer than 5,000 executions per month, n8n Cloud Starter at ₹1,800/month may be simpler and cheaper in practice, once you factor in the hourly cost of setup and maintenance. And if your business needs a guaranteed uptime SLA, self-hosted means you're responsible for monitoring, restarts, and incident response.

What you need before starting

The prerequisites are minimal. You need a VPS account with any provider that has an Indian region, a domain name or subdomain to point at the server, and basic Linux comfort: the ability to SSH into a server and run commands you're given. That's genuinely the bar. You don't need to be a sysadmin.

  • VPS account: DigitalOcean, AWS Lightsail, or Vultr - all have Mumbai regions
  • Domain or subdomain: Something like n8n.yourbusiness.com - registered via NameCheap, GoDaddy India, or any registrar
  • Basic Linux comfort: SSH access, copy-paste commands into a terminal
  • Time: 1–2 hours for initial setup; 30 minutes/month for ongoing maintenance

You don't need Docker expertise. The commands in this guide are copy-paste ready. If you can open a terminal and follow instructions, you can complete this setup.

Choosing your VPS — India options compared

For DPDP Act compliance, use a VPS with servers physically located in India. DigitalOcean, AWS Lightsail, and Vultr all have Mumbai regions. Hetzner is significantly cheaper but runs on German servers, so customer data processed by your workflows would be stored in the EU. The ₹140/month savings is not worth a data residency problem if you're handling Indian customer PII.

ProviderIndia RegionMonthly Cost (₹)RAMStorageDPDP Suitable?
DigitalOceanMumbai (BOM1)~₹5001 GB25 GB SSDYes
AWS LightsailMumbai (ap-south-1)~₹4301 GB40 GB SSDYes
VultrMumbai~₹5001 GB25 GB SSDYes
HetznerGermany~₹3602 GB40 GB SSDNo (EU data)
n8n Cloud StarterEU (managed)~₹1,800ManagedManagedNo (EU data)

This guide uses DigitalOcean Mumbai. The dashboard is clean, backups are a one-click add-on, and their support response time for Indian customers is reasonable. The commands work identically on Vultr or AWS Lightsail if you prefer those.

Step-by-step setup — DigitalOcean Mumbai

The setup has seven steps. Steps 1–6 take most of the time. Step 7, setting the timezone, takes two minutes but is often skipped and then causes scheduled workflows to fire at wrong times. Don't skip it.

Step 1 — Create the Droplet

Log into your DigitalOcean account. Click Create in the top nav, then select Droplets. Set the following options:

  • Region: Mumbai (BOM1)
  • Image: Ubuntu 22.04 LTS x64
  • Plan: Basic - 1 GB RAM, 1 vCPU, 25 GB SSD ($6/month)
  • Authentication: SSH key (recommended) or a strong password

Click Create Droplet. DigitalOcean provisions the server in about 30 seconds. You'll get an IP address in the droplet detail screen. Copy it.

Step 2 — Connect via SSH

Open your terminal and connect to the new server. Replace YOUR_SERVER_IP with the IP address from step 1:

ssh root@YOUR_SERVER_IP

On Windows, use PuTTY or Windows Terminal with the OpenSSH client built into Windows 10+. Accept the fingerprint prompt on first connection. You should now see a root shell prompt on your new server.

Step 3 — Install Docker and Docker Compose

Run these three commands in sequence. They update the package list, install Docker and Docker Compose, and make sure Docker starts automatically on server reboot:

apt update && apt upgrade -y
apt install -y docker.io docker-compose
systemctl enable docker

After the install completes, verify Docker is running with docker --version. You should see a version number like Docker version 24.x.x.

Step 4 — Create the n8n directory and docker-compose file

Create a directory for your n8n setup and move into it:

mkdir n8n && cd n8n

Now create the docker-compose.yml file. Use nano docker-compose.ymlto open the editor, paste the config below, then press Ctrl+X, then Y, then Enter to save. Replace n8n.yourdomain.com with your actual subdomain:

version: "3.8"

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - GENERIC_TIMEZONE=Asia/Kolkata
      - TZ=Asia/Kolkata
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

The GENERIC_TIMEZONE and TZ variables set IST as the server timezone. This is critical for cron-scheduled workflows to fire at the right times.

Step 5 — Set up SSL with Caddy

Caddy is a web server that handles SSL certificates automatically via Let's Encrypt. It's the simplest way to get HTTPS running without dealing with Certbot manually. First, install Caddy:

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

Before creating the Caddy config, point your domain's A record to your server IP. Log into your domain registrar (GoDaddy, NameCheap, etc.), find DNS settings for your domain, and add an A record: n8n pointing to YOUR_SERVER_IP. DNS changes propagate in 5–30 minutes.

Once DNS is propagated, create the Caddyfile. Open it with nano /etc/caddy/Caddyfile, replace the existing contents with the config below, then save:

n8n.yourdomain.com {
  reverse_proxy localhost:5678
}

Restart Caddy to apply the config and trigger certificate provisioning:

systemctl restart caddy

Caddy fetches a Let's Encrypt certificate automatically. This takes about 30 seconds. Your n8n instance will be reachable at https://n8n.yourdomain.com once the Docker container is running.

Step 6 — Start n8n

From your /root/n8n directory, start the container in detached mode:

docker-compose up -d

Docker pulls the n8n image (about 200 MB on first run) and starts the container. Wait 30–60 seconds, then visit https://n8n.yourdomain.com in your browser. You'll see the n8n setup screen. Create your admin account with a strong password. That's your n8n instance - running on your server in Mumbai.

Step 7 — Set your timezone inside n8n

Even with GENERIC_TIMEZONE set in Docker, confirm the timezone inside the n8n UI. Go to Settings (bottom-left cog icon) and look for the Timezone setting. Set it to Asia/Kolkata. This controls how scheduled workflow triggers interpret time values. Without this set correctly, a workflow scheduled for 9:00 AM IST may fire at 9:00 AM UTC instead, which is 2:30 PM IST.

Setting up automatic backups

n8n stores workflow data, credentials, and execution history in SQLite by default, inside the Docker volume you created. DigitalOcean's automated backup add-on costs approximately ₹85/month extra and creates weekly snapshots of your entire droplet. That's the simplest backup strategy for most Indian SMBs using n8n.

To enable it: go to your droplet's detail page in the DigitalOcean dashboard, clickBackups in the left sidebar, and enable weekly backups. DigitalOcean retains the last four weekly backups automatically.

If you want a manual backup of just the n8n data volume, this command copies your SQLite database out of the Docker container:

docker run --rm -v n8n_n8n_data:/data -v $(pwd):/backup ubuntu tar czf /backup/n8n-backup-$(date +%Y%m%d).tar.gz /data

Run this weekly via a cron job or manually before any n8n update. The ₹85/month DigitalOcean backup add-on is worth enabling regardless. One day of lost workflow configurations and credentials is easily worth more than ₹1,020 per year.

Keeping n8n updated

n8n releases updates frequently, typically several times per month. The self-hosted version gets the same updates as n8n Cloud (n8n.io, 2026). New integration nodes appear in self-hosted at the same time they launch on cloud, with no additional configuration required.

[UNIQUE INSIGHT] There is no feature gap between n8n self-hosted and n8n Cloud. Self-hosted users get every new node, every new feature, and every AI integration at the same time as cloud users. The only cloud-exclusive features are the managed infrastructure itself and the shared AI execution quota on higher plans. If you're worried that self-hosting means falling behind on features, it doesn't.

To update n8n, run two commands from your /root/n8n directory:

docker-compose pull && docker-compose up -d

Docker pulls the latest n8n image and restarts the container with zero data loss. The restart takes about 15 seconds. Check the n8n release notes before updating, particularly for major version bumps. Minor releases are generally safe to apply immediately.

Cost summary — self-hosted vs cloud

The annual cost difference between n8n self-hosted and the cloud alternatives is substantial. A DigitalOcean Mumbai droplet at ₹500/month comes to ₹6,000/year for unlimited executions. n8n Cloud Pro, capped at 10,000 executions per month, costs ₹54,000/year at ₹4,500/month (n8n.io, 2026). That's a ₹48,000/year difference for most Indian SMBs running meaningful workflow volumes.

Annual Cost (₹)n8n Self-hosted (DO Mumbai)₹6,000Make Core₹9,000Zapier Professional (750 tasks/mo)₹20,400n8n Cloud Starter₹21,600n8n Cloud Pro (10K executions/mo)₹54,000₹0₹27,000₹54,000
Annual cost comparison for n8n self-hosted vs cloud alternatives (INR, 2026). Sources: n8n.io, Make.com, Zapier.com official pricing pages, 2026.

Make Core works out to ₹9,000/year but counts each module step as one operation, so a complex 10-step workflow processing 1,000 items per month consumes 10,000 operations monthly, not 1,000. Zapier Professional at ₹20,400/year is capped at 750 tasks per month, which is quite low for any serious automation workload.

What to do when your automation breaks

Self-hosted n8n gives you full visibility into failures, which is actually an advantage over cloud platforms where you're limited to what the UI exposes. The execution log in the n8n UI (left sidebar, Executions) shows every workflow run, its status, and the exact node where it failed. Start here before checking anything else.

If a workflow is failing and the n8n UI isn't loading, the Docker container may have crashed. Check the container logs directly on the server:

docker logs n8n_n8n_1

Common failure causes:

  • Timezone mismatch: Scheduled workflows firing at wrong times - verify Asia/Kolkata is set in both Docker environment and n8n Settings
  • API credential expiry: OAuth tokens for Google, Zoho, and similar services expire. Reconnect the credential in n8n Settings - Credentials
  • Container crashed: Check docker ps - if n8n is not listed, run docker-compose up -d from the /root/n8n directory
  • Disk full: Run df -h on the server. If the root partition is over 85% used, clear Docker logs with docker system prune

[PERSONAL EXPERIENCE] Set up a free UptimeRobot monitor on your n8n URL immediately after setup. UptimeRobot pings your n8n instance every 5 minutes and sends a WhatsApp or email alert the moment it goes offline. Without this, you discover n8n is down three days later when a client asks why their lead notifications stopped arriving. A 5-minute monitoring interval catches container crashes before they cause real damage.

FAQ: n8n self-hosted India setup

Is n8n self-hosted really free?

Yes. n8n is open-source under the MIT license. The software itself costs nothing. You pay only for the VPS that runs it, typically ₹430–500/month for a 1 GB RAM instance in Mumbai (n8n.io, 2026). There are no per-execution fees, no node unlock fees, and no limits on the number of workflows you create. The total annual cost for a DigitalOcean Mumbai setup with backups enabled is roughly ₹7,000–8,000 per year.

How much RAM does n8n need?

For light to moderate use, 1 GB RAM is sufficient. A 1 GB droplet handles up to roughly 10,000–20,000 executions per month comfortably, depending on workflow complexity. If you're running heavy data processing workflows, webhooks with high concurrency, or more than 50 active workflows, upgrade to 2 GB RAM. DigitalOcean's 2 GB plan costs approximately ₹1,000/month, still far cheaper than any cloud automation plan at equivalent volume.

Can I migrate from n8n Cloud to self-hosted?

Yes, and the process is straightforward. In n8n Cloud, go to Settings and export your workflows as JSON. On your self-hosted instance, import those JSON files via the Import option in the workflow list. Credentials don't export for security reasons, so you'll need to reconnect each API integration manually on the new instance. Most Indian SMBs complete this migration in under two hours. Plan the cutover during a low-activity window and update your webhook URLs in the source apps after the migration.

Where to go from here

You now have n8n running on your own server in Mumbai, with SSL, automated backups, and the correct IST timezone. The next step is building your first real workflow. The n8n editor is accessible at your domain and works identically to n8n Cloud, with the same 1,300+ integrations available immediately.

If you're coming from Zapier or Make, exporting and reimporting workflows is the fastest way to migrate. Start with your highest-volume workflow first: the cost savings will be visible within the first month's billing cycle.

For help deciding whether n8n or Make is the right fit for your specific workload, read our full n8n vs Make comparison for Indian businesses. For a broader view of the automation tools available in India, the workflow automation tools guide covers the full market including Zapier, Pabbly Connect, and AI-native options. If you'd rather have someone set this up and maintain it for you, our workflow automation service handles VPS setup, n8n configuration, and ongoing workflow building for Indian SMBs.

What should you verify before using this Automation Tools guide?

Before acting on how to self-host n8n in india, verify the current rules or platform behavior with the n8n Docs. The practical answer depends on your business model, state, turnover, documents, software stack, and whether the decision affects tax, customer data, paid media spend, or a production workflow.

Use this article as a working checklist, then confirm API limits, authentication, webhook payloads, retries, error handling, and hosting requirements. In our audits, most expensive mistakes do not come from ignoring the whole process. They come from one stale assumption, one mismatched address, one missing event, or one automation path that nobody tested after launch.

CheckpointWhy it mattersWhere to confirm
Current rule or platform statusLimits, forms, policies, and APIs can change after a blog update.n8n Docs
Your exact business caseA local shop, freelancer, D2C store, agency, and SaaS team rarely need the same next step.Documents, invoices, campaign data, analytics setup, or workflow logs
Implementation evidenceThe safest workflow decision is backed by proof, not memory or screenshots from an old setup.Portal acknowledgement, dashboard export, invoice sample, test lead, or error log

How do we apply this in real business work?

We start with the smallest decision that can be verified. For compliance work, that means matching PAN, address, bank, invoices, and portal status before filing. For websites, marketing, analytics, and automation, it means testing the real user path from first click to final record. The boring checks catch the costly failures.

A useful rule: if a claim changes money, tax, reporting, or customer communication, keep evidence for it. Save the acknowledgement, export the report, test the form, and note the date you verified the source. That gives you a clean trail when a client, officer, platform, or internal team asks why the setup was done that way.

When should you get expert review?

Get expert review when the next action can create tax exposure, lost reporting data, ad waste, broken customer communication, or production downtime. A simple self-check is enough for low-risk learning. A filed return, new registration, tracking migration, paid campaign restructure, or live automation deserves a second set of eyes before it affects customers or records.

How often should this be rechecked?

Recheck the decision whenever your turnover, state, product mix, campaign budget, website stack, analytics property, or workflow ownership changes. Also recheck it after major portal updates, platform policy changes, annual filing deadlines, and vendor migrations. The guide is useful today only if the facts behind it still match your business.

What is the fastest safe way to decide?

Write the decision in one sentence, list the proof needed for that sentence, and verify only those items first. This keeps the work focused. If the proof confirms the decision, proceed. If one item is unclear, pause and resolve that point before changing filings, campaigns, tracking, website code, or automation logic.

What can go wrong if you skip verification?

The usual failure is not dramatic at first. It looks like a rejected application, a wrong tax invoice, a missing conversion, a duplicate lead, a broken report, or a workflow that silently stops. Those small failures become expensive when nobody notices them until month-end reporting, filing day, or a customer escalation.

What evidence should you keep after making the change?

Keep enough evidence to reconstruct the decision later. For a compliance topic, that usually means the application reference number, registration certificate, invoice sample, return acknowledgement, payment challan, notice reply, or source link checked on the day of filing. For a website, campaign, analytics setup, or automation, keep the before-and-after screenshot, test submission, dashboard export, webhook log, and the exact setting that changed.

This matters because most business fixes are revisited months later, when nobody remembers the original reason. A short evidence trail makes audits faster, handovers cleaner, and vendor conversations more precise. It also keeps the advice in this guide tied to your real operating context instead of becoming a generic checklist that gets copied without review.

  • Date checked: record when the official source, dashboard, or portal screen was reviewed.
  • Business context: note the entity, state, product, campaign, property, or workflow affected.
  • Proof of action: save the acknowledgement, report export, test result, or live URL.
  • Owner: assign one person to re-check the item when rules, tools, or business volume change.
Verification workflowUse this loop before changing money, tax, reporting, or customer communication.1234Check sourceMatch recordsTest actionSave proof
Repeat this check whenever rules, platform settings, business volume, or ownership changes.

Which next step should you take after reading this?

Turn the article into one action list. Mark what is already true, what needs proof, and what needs expert review. If you want to go deeper, compare this guide with Workflow Automation. Then update the decision only after the official source and your own records agree.

Frequently asked questions

Is n8n self-hosted really free?

n8n is open source under the Sustainable Use License — the self-hosted version is free for internal business use. You pay only for the server: a DigitalOcean Mumbai droplet costs $6/month (≈₹500). For businesses processing sensitive data or running high automation volumes, self-hosted n8n at ₹500–2,000/month (including VPS, domain, and SSL) is significantly cheaper than n8n Cloud at ₹1,800–4,500/month with execution limits.

How much RAM does n8n need?

n8n runs comfortably on 1GB RAM for most small business workloads (up to 10,000–20,000 executions/month). A 1GB DigitalOcean Droplet at $6/month handles this. For businesses running complex workflows with large data payloads, parallel executions, or more than 50,000 monthly executions, upgrade to 2GB RAM ($12/month). The database (SQLite by default) stays small for typical SMB automation volumes.

Can I migrate from n8n Cloud to self-hosted?

Yes. n8n Cloud and self-hosted use the same workflow format. Export your workflows from n8n Cloud as JSON (Settings → Export), install self-hosted n8n, and import the JSON files. Credentials (API keys) need to be re-entered since they're encrypted per installation. The migration takes 1–3 hours depending on how many workflows you have. Recommended sequence: set up self-hosted, test all workflows, then cancel Cloud.

Let's Talk

Let's talk about your business.

Tell us what you're working on and where you want to go. We'll put together a plan. No obligation, no sales pitch.

  • Free 30-minute call
  • A plan built around your goals
  • No obligation, no pressure
  • Your own account manager

By submitting, you agree to our privacy policy. We'll never spam you.