Got tired of getting billed every time a Zapier polling trigger ran just to find zero new rows. Last week I finally bit the bullet and migrated all 42 of our workflows over to a self-hosted n8n instance.

The cost difference is honestly ridiculous:

Before:

- Zapier Pro: $89/mo
- Make Pro: $159/mo
- Total: $248/mo ($2,976/year)

Now:

- Hetzner CX22 (2 vCPU, 4GB RAM): $6.20/mo
- Nightly Postgres backup to S3/R2: ~$1.50/mo
- Total: $7.70/mo ($92.40/year)

Saving about $240/mo now.

A few real headaches and notes from the migration so you don't make the same mistakes:

  1. Watch your disk space. n8n logs every single execution payload by default. By day 3, SQLite was bloating up fast. Definitely run PostgreSQL and turn on EXECUTIONS_DATA_PRUNE=true (I keep 7 days max).
  2. Ingress with Cloudflare Tunnel (cloudflared). Don't bother opening ports 80/443 on your firewall. Cloudflare Tunnel handles SSL automatically and routes traffic to the container without exposing the VPS public IP.
  3. Speed difference. Webhooks feel instant now. Zapier usually took 2 to 3 seconds just to queue and process a webhook. On the Hetzner box, response times are under 200ms.
  4. Backups. Just a simple cron job running a bash script at 3 AM that dumps the Postgres db, encrypts it, and pushes it to Cloudflare R2. Tested a cold restore and it came back up in about 2 minutes.

If anyone is running a similar setup or thinking about moving off Zapier/Make, happy to share my docker-compose setup or answer questions in the comments...thanks

submitted by /u/Kidut007
[link] [留言]