Deployment platforms
Managed places, grouped by the kind of service. For a server you operate yourself, use the VPS playbook instead of a row below.
Decision chart
Supabase is not an app host. It is the database, auth and file API. The Node or Python process still needs a platform row or the VPS.
Comparison
Pick the service first, then the platform. Amounts are from each vendor's own pricing page, checked 2026-11-01. A cell that says verify was not confirmed on that pass. Open the linked page before you rely on a number.
Frontend hosting
Static sites and server-rendered frontends. Cloudflare sits here because of Pages. Workers on that same page are for a short request at the edge. R2 and Tunnel are the other products on that page, and Tunnel is also in the last group.
| Platform | Best for | Runtime model | Free tier (checked 2026-11-01) | Paid starts at (checked 2026-11-01) | Databases | Custom domains + TLS | Regions | Deploy from | Gotchas |
|---|---|---|---|---|---|---|---|---|---|
| Vercel | Frontend and SSR, especially Next.js | Serverless and edge | Hobby $0. Includes 100 GB Fast Data Transfer and 1,000,000 function invocations. Hobby | Pro $20/month, includes $20 usage credit. Pro | No first-party Postgres on the Hobby page (verify). Blob is listed | Included. Hobby allows 50 domains per project | Fluid compute is priced per region. Full name list: verify | Git, CLI, dashboard | Function duration is capped. Pro bills usage after the credit |
| Netlify | Static sites and JS frameworks | Static and serverless | Free $0, 300 credits/month. The project pauses when credits run out. Pricing | Personal $9/month (1,000 credits) | Netlify Database and Blob are on Free. Engine and extra caps: verify | Custom domains with SSL on Free | Global CDN. Region list: verify | Git, CLI, dashboard | A production deploy costs 15 credits |
| Cloudflare | Edge apps, static sites, object storage, tunnels | Static, edge, serverless | Workers Free: 100,000 requests/day. R2 Free: 10 GB-month. Workers, R2 | Workers Paid minimum $5/month | KV and D1. D1 free limits: verify. R2 is object storage, not SQL | Pages custom domains. TLS at the edge | Global anycast. City list: verify | Git, Wrangler | Workers bill CPU time. Pages and Workers are different products |
Application hosting
A long-running API or worker, when you will not patch the server. Render sleeps when idle on the free plan. Railway sleep is opt-in. Fly.io stays in the region you pick, and you pay while the Machine runs.
| Platform | Best for | Runtime model | Free tier (checked 2026-11-01) | Paid starts at (checked 2026-11-01) | Databases | Custom domains + TLS | Regions | Deploy from | Gotchas |
|---|---|---|---|---|---|---|---|---|---|
| Render | Web services, workers, cron | Container | Free web service: 750 instance hours/month, spins down after 15 minutes idle. Free | Instance from $7/month (under 1 CPU, 512 MB). Workspace Pro is $25/month extra. Pricing | Free Postgres exists. Storage and expiry: verify | Custom domains and managed TLS on Free | verify the current region list | Git, CLI, render.yaml | Free services sleep. Free filesystem is ephemeral. Free rollbacks keep only the two previous deploys |
| Railway | App plus database in one project | Container | Trial: $5 one-time credit, 30 days. Free plan: $1/month usage. Pricing | Hobby $5/month, includes $5 usage. Both official pages agree on this minimum | Managed Postgres is a service with a volume. Free and Trial volumes are 0.5 GB | verify the current domains doc | Marketing page says global regions. List: verify | Git, CLI | The marketing page and the docs disagree on CPU and RAM unit rates (verify the invoice). Serverless sleep is opt-in, not the default |
| Fly.io | Containers placed in a chosen region | VM (Machines) | No free tier for new organizations, and no monthly free allowance. Pricing update | shared-cpu-1x with 256 MB in Ashburn or Secaucus: $2.19 per 30 days, plus egress | Postgres is a Machine plus a volume | First 10 single-hostname certificates free, then $0.10/month each | Cheapest public example is iad or ewr. Full list: fly platform regions (verify the live list) | CLI, fly.toml | You pay while the Machine runs. Egress is billed |
Backend services
Managed Postgres, auth, and file storage. The API process still runs on an application host or on the VPS.
| Platform | Best for | Runtime model | Free tier (checked 2026-11-01) | Paid starts at (checked 2026-11-01) | Databases | Custom domains + TLS | Regions | Deploy from | Gotchas |
|---|---|---|---|---|---|---|---|---|---|
| Supabase | Postgres, auth, storage. Not the API process | BaaS | Free $0: 500 MB database, 50,000 MAU, pauses after 1 week inactive, 2 projects. Pricing | Pro $25/month, includes $10 compute credit | Postgres is the product. Enable row level security | API custom domain: verify | One region per project, chosen at creation. List: verify in the dashboard | CLI, dashboard | The service role bypasses row level security. Free projects have no automatic backups |
Tunnels
A machine that is already running, shared for a demo or a webhook. This is not where the app is deployed.
| Platform | Best for | Runtime model | Free tier (checked 2026-11-01) | Paid starts at (checked 2026-11-01) | Databases | Custom domains + TLS | Regions | Deploy from | Gotchas |
|---|---|---|---|---|---|---|---|---|---|
| ngrok | Expose a local port | Tunnel | Free $0 plus a $5 one-time credit (one year). 1 development domain, interstitial on HTTP. Pricing | Hobbyist $10/month, or $8/month billed annually ($96/year) | None | Free plan: the development domain. Bring-your-own domains are Pay-as-you-go | verify the edge region list | Agent, ngrok.yml | Free HTTP shows an interstitial. Usage stops when the credit is gone |
| Cloudflare Tunnel | A stable hostname to a private origin | Tunnel | No separate Tunnel price was found (verify). Quick Tunnels (docs updated 2026-08-24): random name, no SLA, 200 in-flight requests. Named tunnels (account limits updated 2026-10-16): 1,000 tunnels, 25 replicas | No separate price was found (verify) | None | Named tunnel uses a CNAME. TLS is at the edge | Global anycast. City list: verify | cloudflared, dashboard | Quick Tunnels are for testing, not production. cloudflared version: verify |
Connects to
- DevOps: the short version of this chart, plus the deploy-path map.
- Self-host a Docker stack: when the chart ends at a VPS.
- CI/CD: what you still need when the platform does not build and deploy for you.
- Compute: the same kind of choice on AWS.