# Temps vs Cloudflare Pages

> Cloudflare Pages is free for static sites, with 500 builds a month and 100 custom domains per project on the free plan, and server code on Workers ($5/month minimum on the paid plan). Next.js on Cloudflare runs on Workers through vinext (Cloudflare's default, in beta) or OpenNext. Temps is the self-hosted alternative for full-stack apps: Next.js as a Node.js server, managed PostgreSQL, and error tracking, session replay, analytics and uptime monitoring on one server you control.

Last updated 2026-10-08 · Competitor prices checked October 2026

Canonical: https://temps.sh/compare/vs-cloudflare-pages

Full-stack apps on your own server, without an edge runtime

## Short answer

Cloudflare Pages serves static sites free from Cloudflare's network in 300+ cities, with 500 builds a month on the free plan and DDoS protection included. Server code runs on Workers, and Cloudflare now recommends starting new projects on Workers rather than Pages. Temps runs standard containers on your own server, with the database on the same machine and error tracking, session replay, analytics and uptime monitoring in the binary. Next.js runs as a normal Node.js server with no adapter and no per-request CPU limit. What Cloudflare has that Temps doesn't: A global CDN and edge runtime, DDoS protection and a WAF on the same network, and a free tier that needs no server at all. Temps has no global edge network.

## TL;DR

| Dimension | Temps | Cloudflare Pages | Better fit |
| --- | --- | --- | --- |
| Static site hosting | Works, but no global CDN | Free, 300+ cities, unlimited requests | Cloudflare Pages |
| Full-stack app + Postgres + observability | Free + your server | Workers $5/mo + external Postgres + ~$211/mo of tools | Temps |
| Runtime model | Node.js server in a container, any process | Workers isolates: 30 s CPU default (up to 5 min), 128 MB | Temps |
| DDoS protection and WAF | Yours to configure | Included in the network | Cloudflare Pages |
| Built-in observability | Analytics, errors, replay, uptime | Web Analytics; rest is third-party | Temps |

## Key differences

- **Next.js as a Node.js server:** On Cloudflare, Next.js runs on Workers through an adapter: vinext, a Vite plugin that reimplements the Next.js API and is Cloudflare's default (in beta), or OpenNext for existing apps. The older @cloudflare/next-on-pages adapter is deprecated. Temps runs Next.js as a Node.js server in a container, so App Router, ISR, Middleware and Node.js APIs behave as they do on any Node.js host.
- **500 builds a month free, then a plan upgrade:** The free plan allows 500 builds a month (each up to 20 minutes, one at a time); Cloudflare Pro ($20/month billed annually, $25 monthly) raises it to 5,000 and Business to 20,000. Server-side code is billed as Workers: $5/month minimum with 10M requests included. Temps has no build quota or request meter; builds run on your server.
- **Standard APIs instead of platform bindings:** Full-stack apps on Cloudflare tend to adopt Workers bindings such as D1, KV, R2 and Durable Objects. Temps uses standard PostgreSQL, Redis and S3-compatible storage on any server, so the app moves elsewhere without rewrites.
- **Managed databases included:** Cloudflare has no managed PostgreSQL (D1 is SQLite), so full-stack apps usually connect to an external provider such as Neon or Supabase. Temps includes managed PostgreSQL with HA, Redis and S3-compatible storage on your own server.

## Features

| Feature | Temps | Cloudflare Pages |
| --- | --- | --- |
| Git push deployments | Yes | Yes |
| Preview deployments | Yes | Yes (Per branch, automatic) |
| Automatic SSL | Yes | Yes |
| Custom domains | Yes | Yes (100/250/500 per project (Free/Pro/Business)) |
| Builds | No quota (your server) | 500/mo free; 5,000 on Pro ($20–25/mo) (20-minute build timeout) |
| Docker support | Yes | No (Cloudflare Containers exist, attached to Workers and usage-billed) |
| Next.js App Router | Yes (Node.js server in a container, no adapter) | Yes (On Workers via vinext (beta, default) or OpenNext) |
| ISR (Incremental Static Regeneration) | Yes (Native Next.js behaviour) | Yes (Supported by vinext and OpenNext through their caches) |
| Node.js runtime | Yes (Full Node.js) | Partial (Workers Node.js compatibility; OpenNext does not yet run Node.js Middleware) |
| Managed PostgreSQL | Yes (HA clusters included) | No (External provider (Neon, Supabase, etc.); D1 is SQLite) |
| Managed Redis | Yes (Included) | No (External (e.g. Upstash); KV is a different model) |
| S3-compatible storage | Yes (Built-in (RustFS; legacy MinIO supported)) | Yes (R2 (S3-compatible API)) |
| Error tracking | Yes (Sentry-compatible) | No (Third-party required) |
| Web analytics | Yes (First-party events, funnels, Web Vitals) | Yes (Cloudflare Web Analytics) |
| Session replay | Yes (Built-in) | No |
| Uptime monitoring | Yes (Built-in checks + alerting) | No |
| Long-running processes and cron | Yes (Long-running containers, cron in .temps.yaml) | Limited (Cron Triggers up to 15 min; no always-on processes) |
| Self-hosted option | Yes | No |
| Global edge network | No (Runs where your servers are) | Yes (300+ cities) |
| DDoS protection & WAF | No | Yes (Included via Cloudflare network) |

## Pricing

| Item | Temps | Cloudflare Pages |
| --- | --- | --- |
| Static site | $0 + your server | $0 (500 builds/mo, unlimited requests) |
| Next.js with server rendering | $0 + your server | $5/mo Workers Paid (10M requests) + usage |
| More than 500 builds/mo | No build quota | $20/mo Cloudflare Pro (annual) for 5,000 |
| Full-stack + Postgres + observability | Free (included) + your server | $5 Workers + external Postgres + ~$211 of tools |

For static sites, Cloudflare Pages' free plan is hard to beat: 500 builds a month, unlimited requests and a global network. A full-stack app adds Workers Paid ($5/month minimum, 10M requests included), an external PostgreSQL provider, and third-party error tracking and replay: Sentry Team, Plausible and LogRocket come to about $211/month. Self-hosted Temps runs the same app, its database and that observability on the server you pay for. The free-plan limits in detail are in the Cloudflare Pages free tier guide under Further reading.

### Cloudflare Pages plans

| Plan | Price | Builds | Requests | Custom domains | Edge functions | Note |
| --- | --- | --- | --- | --- | --- | --- |
| Free | $0/mo | 500 builds/mo, 1 at a time | Unlimited static; 100k Workers req/day | 100 per project | Workers Free: 10 ms CPU per request | 20,000 files per site; no managed Postgres |
| Pro | $20/mo (annual) or $25/mo (monthly) | 5,000 builds/mo, 5 concurrent | Unlimited static | 250 per project | Workers Paid billed separately ($5/mo minimum) | Pages limits come from your Cloudflare plan |
| Business | $200/mo (annual) or $250/mo (monthly) | 20,000 builds/mo, 20 concurrent | Unlimited static | 500 per project | Workers Paid billed separately | 100,000 files per site on paid plans |
| Enterprise | Custom | Custom | Custom | 500+ per project | Custom Workers allocation | SLA and custom limits |

Pages has no per-request charge for static assets. Server-side code (Pages Functions or a Worker) is billed as Workers: the paid plan is a $5/month minimum that includes 10M requests and 30M CPU-milliseconds a month.

## Choose Temps if

- You're building full-stack apps with a database and background work
- You want Next.js running as a normal Node.js server, without an adapter or Workers limits
- You want error tracking, session replay and analytics built in
- You want managed PostgreSQL on the same server instead of an external provider
- You want to self-host to keep data in a jurisdiction you choose
- You'd rather not adopt Workers-specific bindings such as D1, KV and Durable Objects

## Choose Cloudflare Pages if

- You're deploying static or JAMstack sites with little server-side logic
- You want global edge delivery across 300+ cities with zero config
- You need Cloudflare's built-in DDoS protection and WAF
- You want serverless with no infrastructure to manage
- You're already deep in the Cloudflare ecosystem (Workers, R2, D1, KV)
- You want infrastructure run by a major network: Temps is pre-1.0 (v0.1.0 prereleases) and runs only where you put it

## Migrating from Cloudflare Pages (medium)

Difficulty depends on how much of Cloudflare's runtime you use. Static sites move fastest: point Temps at the same repository and build command. Next.js apps built with vinext or OpenNext usually run unchanged as a Node.js server, once Workers-specific bindings are replaced. D1 (SQLite) data needs moving to PostgreSQL or another database, KV and R2 calls map to Redis and S3-compatible storage, and Durable Objects have no direct equivalent. Keep Cloudflare in front as DNS, CDN and WAF if you want its network.

| Step | Details |
| --- | --- |
| Workers usage grows past the included allowance | Workers Paid includes 10M requests and 30M CPU-milliseconds a month for $5; beyond that you pay per million requests and per CPU-millisecond. On Temps the same traffic costs whatever your server costs. |
| You need the full Node.js runtime | vinext reimplements the Next.js API and is in beta; OpenNext does not yet run Node.js Middleware; Workers isolates cap memory at 128 MB. On Temps the app runs as a Node.js server with the server's resources. |
| You need managed PostgreSQL | Cloudflare has no native Postgres, so the database lives with another provider and every query crosses a network. Temps runs managed PostgreSQL with HA next to the app. |
| Builds exceed 500 a month on the free plan | Each deploy counts as one build, up to 20 minutes, one at a time. Cloudflare Pro ($20/month billed annually, $25 monthly) raises the limit to 5,000 and 5 concurrent builds. Self-hosted Temps has no build quota; builds run on your server. |
| You need long-running jobs | Workers requests default to 30 seconds of CPU (up to 5 minutes on the paid plan), and Cron Triggers run up to 15 minutes. Video processing, queues and other always-on work need another service. Temps runs long-lived containers and cron jobs on your server. |
| Your team needs full observability | Cloudflare Web Analytics covers traffic. Error tracking, session replay and uptime monitoring are third-party: Sentry Team, Plausible and LogRocket come to about $211/month. Temps includes them. |

[Cloudflare Pages alternatives, compared](https://temps.sh/blog/best-cloudflare-pages-alternatives-2026)

## FAQ

### What are the Cloudflare Pages free tier limits in 2026?

On the free plan Cloudflare Pages allows 500 builds a month (each up to 20 minutes, one at a time), 100 custom domains per project, 20,000 files per site with a 25 MiB maximum file size, and unlimited static requests and bandwidth. Server-side code runs on Workers, whose free plan allows 100,000 requests a day with 10 ms of CPU each. There is no managed PostgreSQL on any plan.

### Are Cloudflare Pages limits build minutes or builds?

Builds. The free plan allows 500 builds a month, Pro 5,000 and Business 20,000, and each build can run for up to 20 minutes. There is no per-minute overage: to get more builds you move to a higher Cloudflare plan (Pro is $20/month billed annually or $25 monthly).

### Does Cloudflare support Next.js in 2026?

Yes, on Workers. Cloudflare's guide recommends vinext, a Vite plugin that reimplements the Next.js API (in beta, ISR supported), as the default, and supports OpenNext (@opennextjs/cloudflare), which uses Next.js' Node.js runtime, for existing apps. The older @cloudflare/next-on-pages adapter is deprecated and was Edge-runtime only. Temps runs Next.js as a standard Node.js server without an adapter.

### How many custom domains does Cloudflare Pages allow?

100 custom domains per project on the free plan, 250 on Pro and 500 on Business and Enterprise. Each project also gets a *.pages.dev subdomain.

### Should new projects use Cloudflare Pages or Workers?

Cloudflare's Pages documentation now says Workers supports most Pages use cases, is its primary platform for building applications, and that new projects should start on Workers. Pages remains supported, and Cloudflare publishes a guide for migrating from Pages to Workers.

### Is Cloudflare Pages free for static sites?

Yes. The free plan includes 500 builds a month, unlimited static requests and bandwidth, and 100 custom domains per project. Costs appear when you add server-side code (Workers Paid, $5/month minimum), a database from another provider, or third-party observability.

### Cloudflare Pages vs Temps: which should I choose in 2026?

Choose Cloudflare Pages for static or mostly static sites, global edge delivery, built-in DDoS protection and a WAF, or an app that fits Workers. Choose Temps for a full-stack app that wants a normal Node.js runtime, managed PostgreSQL on the same server, and error tracking, session replay and analytics without paying separately for Sentry Team, Plausible and LogRocket (about $211/month). Self-hosted Temps is free; you pay for the server.

### Does Temps use Cloudflare's technology anywhere?

Temps' built-in proxy is based on Pingora, the open-source Rust framework Cloudflare built for its own network. Temps runs it on your server, handling TLS termination and routing without Nginx or Caddy; it is not Cloudflare's paid edge network. You can still put Cloudflare in front of a Temps server for DNS, CDN and WAF.

## Sources

- [Cloudflare Pages limits](https://developers.cloudflare.com/pages/platform/limits/)
- [Workers limits](https://developers.cloudflare.com/workers/platform/limits/)
- [Workers pricing](https://developers.cloudflare.com/workers/platform/pricing/)
- [Next.js on Workers](https://developers.cloudflare.com/workers/framework-guides/web-apps/nextjs/)
- [OpenNext for Cloudflare](https://opennext.js.org/cloudflare)

## Further reading

- [Cloudflare Pages Free Tier Limits & Pricing 2026](https://temps.sh/blog/cloudflare-pages-free-tier-limits-2026): Every free-plan limit (builds, domains, files, Workers requests) and what each paid plan raises.
- [Best Cloudflare Pages Alternatives for Next.js](https://temps.sh/blog/best-cloudflare-pages-alternatives-2026): Managed and self-hosted platforms for full-stack Next.js, compared on runtime and cost.
- [Deploy Next.js on Temps](https://temps.sh/deploy/nextjs): How Temps builds and runs a Next.js app from a git push, with preview deployments and observability attached.
- [Temps vs Vercel](https://temps.sh/compare/vs-vercel): The other common managed home for Next.js, compared on seats, bandwidth and features.
- [Temps vs Netlify](https://temps.sh/compare/vs-netlify): Netlify's credit-based plans against a self-hosted platform.
- [Deploy Astro to your own server](https://temps.sh/deploy/astro): Static and on-demand Astro sites: which preset to pick.
- [Deploy Angular to your own server](https://temps.sh/deploy/angular): A static Angular SPA or @angular/ssr, with the right preset for each.

---

Source: https://temps.sh/compare/vs-cloudflare-pages · Index of all pages: https://temps.sh/llms.txt
