Deploy n8n Supabase
Supabase DB webhooks to Slack
n8n-worker
Just deployed
Redis
Just deployed
/data
Just deployed
/home/node/.n8n
Just deployed
/var/lib/postgresql/data
Deploy and Host self hosted n8n Supabase (Open-Source Workflow Automation) on Railway
Wire Supabase row inserts into n8n queue-mode workers and your database stops being passive. Row-level webhooks fire on every insert and update, fanning out to Slack and Google Sheets without cron polling.
About Hosting n8n Supabase open-source software on Railway (self hosted n8n template)
Most teams discover Supabase webhooks after polling tables for months. Then a colleague mentions Postgres can just notify you.
The catch: webhooks arrive in bursts. A bulk import of 2,000 rows hits your workflow 2,000 times in under a minute. A single-threaded n8n chokes.
That's the value: a resilient ingestion pipeline that absorbs database activity spikes without dropping webhooks or duplicating Slack notifications.
Why Deploy n8n Supabase, the Zapier alternative on Railway (Railway Free Trial)
Zapier charges per task, and Supabase webhooks generate a lot of tasks. A table with 50,000 monthly row updates costs real money before you've written your first filter node.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying n8n Supabase on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for n8n Supabase self hosting
| Provider | Queue Mode Setup | Supabase Webhook Latency | Scaling Model |
|---|---|---|---|
| DigitalOcean | Manual Redis + Postgres, Docker Compose edits | ~200-400ms typical | Vertical only unless load balancer added |
| AWS | ECS or EKS required, IAM roles | ~150-300ms with us-east-1 | Horizontal via Auto Scaling Groups |
| Hetzner | Dedicated VPS, install Redis yourself | ~100-250ms in Europe | Vertical first, horizontal with manual setup |
Railway sits between these - managed Postgres and Redis without CloudFormation, scaling with a slider.
Common Use Cases for hosted n8n Supabase
Lead capture with Slack notification. Each Supabase insert fires a webhook to n8n, which formats the lead and posts to #sales. Google Sheets appends a row for non-technical staff.
Inventory sync. An UPDATE changes a SKU quantity. n8n checks the new value, posts a restock alert to Slack if below threshold, and appends dead stock to a sheet.
User onboarding. Supabase Auth triggers a profiles table insert. n8n sends a welcome Slack message and logs the user in Google Sheets for cohort tracking.
Audit trails. Admin actions write to an audit table. n8n filters high-risk actions and pings a #security Slack channel, while Sheets keeps an immutable log.
Dependencies for n8n Supabase Docker hosted on Railway
Queue mode has real moving parts. Here's what you're deploying and why each piece matters when webhooks arrive faster than workers drain them.
Deployment Dependencies for Managed n8n Supabase Service (Workflow Automation)
n8n editor container - runs n8nio/n8n:2.36.8 with EXECUTIONS_MODE=queue. Accepts Supabase POSTs on port 5678 and enqueues jobs into Redis.
n8n worker container - same image, command n8n worker. Pulls jobs from the Redis Bull queue and executes nodes. Start with one, scale to three when activity spikes.
PostgreSQL - queue mode cannot use SQLite. Stores workflows, credentials, execution history. Use Railway managed Postgres with DB_TYPE=postgresdb.
Redis - the Bull queue backend. Every webhook gets serialized into a Redis job; workers poll and claim them. This buffers webhook bursts.
Persistent volume - mount at /home/node/.n8n so workflows and credentials survive restarts. Without it, redeploys wipe config.
Implementation Details for n8n Supabase (Using n8n official docker image)
Pin the image: n8nio/n8n:2.36.8. Avoid latest - n8n ships breaking changes occasionally.
Environment variables for editor and worker:
- EXECUTIONS_MODE=queue - required for Redis Bull.
- DB_TYPE=postgresdb - omit and n8n falls back to SQLite, breaking queue mode.
- WEBHOOK_URL - public URL of the editor; Supabase delivers here. Behind Railway proxy, set N8N_PROXY_HOPS=1.
- N8N_ENCRYPTION_KEY - strong random string. Encrypts credentials. Store in Railway secrets, never a Dockerfile.
- EXECUTIONS_DATA_PRUNE=true - keeps execution history from ballooning.
Worker command: n8n worker. Editor runs default command. Both share the volume mount.
How does n8n Supabase compare against other Workflow Automation platforms
Which platform handles Supabase database webhooks at scale without costing a fortune?
n8n Supabase vs Zapier (Zapier Alternative)
Zapier's native Supabase integration is easier for five workflows - no Docker or Redis. But Supabase webhooks are volumetric: 10,000 inserts cost 10,000 tasks.
n8n Supabase vs Make (Make Alternative)
Make's Supabase module handles branching fan-outs well, but operations add up - a Supabase trigger plus Slack and Google Sheets nodes can consume 3-4 operations per execution.
n8n Supabase vs Power Automate (Power Automate Alternative)
Power Automate works inside Microsoft shops and can receive Supabase webhooks via HTTP trigger. But Slack and Google Sheets require premium connectors and licenses.
n8n Supabase vs Activepieces (Activepieces Alternative)
Activepieces is the closest open-source competitor with a clean builder and similar fair-code license. n8n pulls ahead on maturity: more nodes, better queue-mode docs, and a larger community for Supabase-specific debugging.
How to use n8n Supabase (the OSS Workflow Automation)?
- Create the Supabase webhook. In the Supabase dashboard open Database -> Webhooks, trigger on INSERT or UPDATE, and POST to your n8n Webhook node's production URL.
- Build the fan-out. Webhook node -> IF node to drop noisy rows -> Slack and Google Sheets nodes in parallel.
- Test with a real insert. Add a row in the table editor, watch the execution land on the worker, then activate.
How to self host n8n Supabase on other VPS Services (n8n Supabase self hosting guide)
Railway handles orchestration, but you can run this stack on any VPS with Docker.
Clone the Repository
git clone https://github.com/n8n-io/n8n.git
cd n8n
Install Dependencies
You need Docker, Docker Compose, Postgres, Redis. On Ubuntu: apt install docker.io docker-compose-plugin redis-server postgresql
Create database and user:
sudo -u postgres psql -c "CREATE DATABASE n8n;"
sudo -u postgres psql -c "CREATE USER n8n WITH PASSWORD 'your-password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n;"
Configure Environment Variables
Create a .env with the same variables: EXECUTIONS_MODE=queue, DB_TYPE=postgresdb, Postgres connection string, Redis URL, N8N_ENCRYPTION_KEY, WEBHOOK_URL. Mount volume at /home/node/.n8n.
Start the n8n Supabase Application
docker run -d --name n8n-editor --env-file .env -v n8n_data:/home/node/.n8n -p 5678:5678 n8nio/n8n:2.36.8
docker run -d --name n8n-worker --env-file .env -v n8n_data:/home/node/.n8n n8nio/n8n:2.36.8 n8n worker
Official Pricing of n8n Supabase (n8n Supabase pricing)
n8n Community Edition is free, fair-code, unlimited executions and users. Pay nothing to n8n, only infrastructure.
n8n Cloud Starter is about $24/month for 2,500 executions. For 10,000+ monthly Supabase events, Cloud gets expensive - hence self-hosting on Railway.
Railway typically costs $10-$25/month depending on workers and Postgres. The $5 free trial (GitHub signup) covers initial experiments.
n8n Supabase cloud vs self hosted comparison (Pricing, features, costs, and more)
Monthly cost of self hosting n8n Supabase on Railway
Editor (512MB), one worker (512MB), managed Postgres (small), managed Redis, 5GB volume: about $10-$15/month. Add a second worker: $15-$20. Heavy traffic (50k+ executions) might push to $20-$25.
Break-even vs n8n Cloud Starter ($24/month for 2,500 executions): roughly 2,500 executions. Above that, self-hosted wins.
System Requirements for Hosting n8n Supabase on a VPS
Minimum: 2GB RAM, 1 vCPU, 20GB disk for one editor and one worker. Production with bursts: 4GB RAM, 2 vCPUs so Redis can buffer without swapping.
Frequently Asked Questions (FAQs)
Do I need Redis for Supabase webhooks to work with n8n?
Only for queue mode. Main process with SQLite still triggers workflows. But bursts overwhelm a single main-process instance; Redis Bull decouples receipt from execution.
Do Supabase webhooks retry if n8n is down?
Don't count on it. Supabase database webhooks go out through the pg_net extension, which makes one async HTTP call and logs the response in net._http_response. Keep the editor up during deploys and check that table for failures.
How do I map Supabase row data to Slack messages and Google Sheets?
Use {{ $json.record.email }} or {{ $json.record.quantity }}. For UPDATE triggers, old_record holds previous values, so you can detect changes like status transitions.
What happens if I lose my N8N_ENCRYPTION_KEY?
Stored credentials become unreadable. Slack OAuth tokens and Google Sheets refresh tokens are unrecoverable. You'd re-authenticate everything. Store the key in Railway secrets and a password manager.
Does queue mode work with SQLite?
No. Queue mode requires Postgres. If you want a simpler SQLite single-container setup for light volumes, check the cheapest n8n without queue mode.
Can I add more n8n workers later?
Yes, and you should. Start with one, watch Redis queue depth. If jobs pile up during bursts, duplicate the worker service on Railway and scale to two or three.
Template Content
n8n-worker
n8nio/n8n:2.36.8Redis
redis:8.2