Self-Host n8n on Google Cloud Free Tier (2026)

By my estimate, Google Cloud's Always Free e2-micro (1 GB of RAM) can host n8n for a few light workflows; n8n publishes no minimum. The VM, 30 GB of standard disk and 1 GB of outbound data a month are free in us-west1, us-central1 or us-east1. The public IPv4 address is not: $0.005 an hour, about $3.65 a month.

Short version: pick one of the three free regions, switch the boot disk to standard, add swap, and run n8n alone behind Caddy. Move to a bigger server the day your workflows outgrow 1 GB of RAM.

I set up production n8n servers for clients, and my Oracle Cloud free tier guide is still the strongest $0 answer when Oracle has free capacity in your region. Google Cloud also has an always-free VM. Three details decide whether n8n works on it: the IP address is billed, the console's default disk is not the free one, and n8n's own Docker Compose guide asks for four times the memory the free machine has.

This guide covers all three, then walks through a lean setup that fits the free machine.

Want to see n8n doing real work first? Run my Google Maps lead finder or the SEO audit, both live n8n workflows.

Is n8n on Google Cloud free? The VM is, the address is not

Google's Free Tier covers one non-preemptible e2-micro VM per month, 30 GB-months of standard persistent disk and 1 GB of outbound data per month from North America (China and Australia excluded). That is enough for a small n8n server.

What the Free Tier table does not list is an external IP address. Google bills in-use external IPv4 addresses on standard VMs at $0.005 per hour, and the free allowance for them is one hour per month per account. At that rate an average 730-hour month comes to roughly $3.65. Google raised the price from $0.004 to $0.005 an hour in February 2024, so if a tutorial calls this setup completely free, check whether it counted the address.

So the honest total is a free VM plus a few dollars for the address. Check your own Billing report after the first week rather than trusting my arithmetic: prices and allowances change, and Google's Free Tier page says it can change the limits with 30 days' notice.

Two more conditions:

What the free machine actually gives you

Resource Always Free allowance The catch
VM 1 e2-micro, full month Only in us-west1 (Oregon), us-central1 (Iowa) or us-east1 (South Carolina)
CPU 2 vCPUs exposed, 25% sustained in total Bursts to 100% for about 30 seconds at a time
Memory 1 GB Fixed on this machine type
Disk 30 GB-months of standard persistent disk Standard is HDD; disks created in the console default to balanced, which is not covered
Outbound data 1 GB per month from North America Premium Tier (the default) only; Standard Tier is not covered
External IPv4 Not in the Compute Engine Free Tier row 1 free hour a month per account, then $0.005 per hour while in use
Snapshots Not listed in the Free Tier Billed per GB per month

The free hours are counted by time across the three regions combined, not per instance. One VM running all month is covered. Two are not.

Will n8n run in 1 GB of RAM?

n8n does not publish a minimum RAM figure for a plain install. Here is what its documentation does say:

My estimate from those numbers: a single n8n container with SQLite has room inside 1 GB for a handful of light, scheduled workflows. I have not load-tested this exact machine, so watch memory for the first week (sudo docker stats --no-stream shows it). Anything heavier (big spreadsheets, many parallel webhooks, AI agents passing large payloads around, Postgres next to n8n) belongs on a bigger machine. The swap below is a safety net against crashes, not extra memory: on a standard HDD disk it is slow.

One more trade-off, and it matters. This setup leaves the task runner in internal mode, n8n 2.x's default. n8n's task-runner docs say internal mode "isn't recommended for production" and should only run on isolated instances that hold no sensitive data, because anyone who can edit a workflow could reach the database, the encryption key and stored credentials. The safer setup is a separate runner container, which costs memory a 1 GB machine does not have. So keep this box single-user: you are the only person who edits workflows, and client data stays off it.

Step by step: n8n on a Google Cloud e2-micro

1. Create the VM

In the Google Cloud console, open Compute Engine and create an instance:

If you create the VM from the gcloud CLI instead, its default disk type is already pd-standard; pass --boot-disk-type=pd-standard to be explicit.

2. Point a subdomain at it

Copy the VM's external IP and add an A record such as n8n.yourdomain.com pointing to it. You need a domain name for this setup: Caddy gets its certificate for the hostname in your Caddyfile, and n8n builds its webhook URLs from the same name. If you stop and start the VM, check the IP before you trust your DNS, because an ephemeral address can change. Promoting it to a static address keeps it fixed and costs the same $0.005 per hour while it is attached, even while the VM is stopped.

3. Add swap

SSH in from the console and create a 2 GB swap file:

sudo dd if=/dev/zero of=/swapfile bs=1MiB count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

The dd route is the one the swapon manual calls the most portable. The last line makes the swap file survive a reboot.

4. Install Docker

Follow Docker's official Ubuntu instructions to add its apt repository, then install the engine and the Compose plugin:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. Write the Compose file and the Caddyfile

Create a folder, then a docker-compose.yml. This runs n8n alone with SQLite, and Caddy in front of it for HTTPS:

services:
  n8n:
    image: n8nio/n8n:2.42.5
    restart: always
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - N8N_PORT=5678
      - N8N_PROXY_HOPS=1
      - N8N_WEBHOOK_URL=https://n8n.yourdomain.com/
      - NODE_ENV=production
      - GENERIC_TIMEZONE=America/Chicago
      - TZ=America/Chicago
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=168
    volumes:
      - n8n_data:/home/node/.n8n

  caddy:
    image: caddy:2
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./conf:/etc/caddy
      - caddy_data:/data
      - caddy_config:/config

volumes:
  n8n_data:
  caddy_data:
  caddy_config:

Then conf/Caddyfile:

n8n.yourdomain.com {
	reverse_proxy n8n:5678
}

Notes on the choices:

n8n's official server example uses Traefik. Caddy does the same job with a three-line config: on first start it gets a certificate from a public CA such as Let's Encrypt, then renews it and redirects HTTP to HTTPS.

6. Start it and check it

sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs -f n8n

When the n8n log says the editor is accessible, open https://n8n.yourdomain.com and create the owner account. n8n publishes no port on the VM in this setup, so check its health through Caddy: curl -s -o /dev/null -w '%{http_code}' https://n8n.yourdomain.com/healthz should print 200, which n8n's docs say means the instance is reachable (not that its database is healthy). If the certificate fails, confirm the A record has propagated and that ports 80 and 443 are open. If you are testing repeatedly, Caddy's docs warn that you can hit Let's Encrypt rate limits for up to a week, so point it at the staging endpoint while you experiment.

After it is running: backups, updates and the limits

When your n8n outgrows this box and starts handling client work, move it to a bigger server and run through my self-hosted n8n production checklist first.

Google Cloud vs Oracle vs Hostinger for n8n

Google Cloud e2-micro Oracle Cloud Always Free Hostinger KVM 1
Monthly cost VM free; IPv4 about $3.65 at $0.005/hour $0 $6.49 intro (24-month term), $11.99 renewal
Memory 1 GB 12 GB on 2 OCPUs, when capacity is available 4 GB
Setup By hand By hand One-click template
Best for A personal instance with a few light workflows The most free capacity, if you can get it A paid, low-effort production box

Oracle and Hostinger figures come from my Oracle and Hostinger guides; check their dates before you buy. If you are still deciding whether to self-host at all, the n8n pricing guide and the n8n cost calculator compare it with n8n Cloud.

Sources

Google Cloud allowances and prices were checked on 8 October 2026 and can change. Re-verify on the live pages, and watch your Billing report for the first week.

Want it set up and hardened for you?

If you would rather have a production n8n server stood up, secured and backed up on a machine sized for your workflows, that is work I do for clients: here is a self-hosted stack I built. Book a 30-minute call and I will tell you which setup fits. After the call you get a written plan and price within 24 hours.

Frequently asked questions

Is Google Cloud's free tier enough for n8n?

For a personal instance running a few light, scheduled workflows, it can be. The e2-micro has 1 GB of RAM and 25% sustained CPU, and n8n publishes no minimum. Heavy data, many parallel webhooks or a database next to n8n need a bigger machine.

Is the external IP free on the Google Cloud free tier?

No. The Free Tier table lists no IP allowance, and Google bills in-use external IPv4 addresses on standard VMs at $0.005 per hour, with one free hour per month per account. That is roughly $3.65 for a full month.

Which region should I pick for the free e2-micro?

One of us-west1 (Oregon), us-central1 (Iowa) or us-east1 (South Carolina). The free hours are combined across those three regions, so one VM running all month is covered and a second is not.

Do I need a credit card for Google Cloud's free tier?

Yes. A billing account is required for the Free Tier, and signing up asks for a card or other payment method. The trial gives $300 for 90 days: upgrade to a paid billing account before day 90 or before the credit is spent, or the trial's resources, the free VM included, are stopped.

Should I use SQLite or PostgreSQL for n8n on an e2-micro?

SQLite. n8n's docs call SQLite fine for trying things out and recommend Postgres for production, but on a 1 GB machine a database server competes with n8n for memory. Once you need Postgres, you need a bigger machine.

Google Cloud or Oracle Cloud for free n8n hosting?

Oracle's Always Free tier gives far more memory for $0 (12 GB on 2 OCPUs) when it has free Ampere capacity in your region. Google Cloud's free machine is a 1 GB e2-micro, and its public IPv4 address costs a few dollars a month.