BuildWithMatija
Get In Touch
  1. Home
  2. Blog
  3. Next.js
  4. Next.js Self-Hosting: Why It's Finally Becoming Practical

Next.js Self-Hosting: Why It's Finally Becoming Practical

How adapters, OpenNext, and the Next.js Ecosystem Working Group reduce Vercel lock-in and simplify self-hosted…

28th March 2026·Updated on:27th March 2026·MŽMatija Žiberna·
Next.js
Early Access

You are viewing this article before its public release.

This goes live on March 28, 2026 at 7:00 AM.

Next.js Self-Hosting: Why It's Finally Becoming Practical

⚡ Next.js Implementation Guides

In-depth Next.js guides covering App Router, RSC, ISR, and deployment. Get code examples, optimization checklists, and prompts to accelerate development.

No spam. Unsubscribe anytime.

If you've been watching the Next.js ecosystem closely, you've probably noticed something shifting. The framework has long been the default choice for modern React apps, but the cleanest path to production always seemed to run through Vercel. That's changing. The introduction of a formal Ecosystem Working Group, framework-level adapters, and OpenNext signals a genuine shift toward platform-agnostic deployments—and if you care about self-hosting, this matters.


The Quiet Friction of Self-Hosting Next.js

I've been self-hosting Next.js applications for a few years now, running them on VPS boxes behind Nginx, inside Docker containers, and more recently experimenting with managed platforms like Fly.io. It's always been doable, but it has rarely been smooth.

The friction showed up in specific places. ISR (Incremental Static Regeneration) required understanding undocumented revalidation behavior. Edge features either didn't work at all or required platform-specific workarounds. When something broke, the documentation pointed back to Vercel-specific primitives with no real guidance for anything else.

You weren't going against the framework—you were just going against the grain.


What's Actually Changing

The Ecosystem Working Group

The creation of a formal Next.js Ecosystem Working Group is the most significant structural change. Instead of a single company making decisions about how the framework behaves across all runtimes, multiple stakeholders—hosting providers, tooling teams, independent contributors—are now coordinating around shared standards.

This matters because fragmentation across platforms has been the core problem. When Next.js specifies behavior that only Vercel implements correctly, every other deployment target becomes a second-class citizen. A working group changes that dynamic by giving other platforms a seat at the table.

Framework-Level Adapters

Adapters are a compatibility layer between your application and the environment it runs in. The concept isn't new—SvelteKit and Astro have had adapters for years—but their addition to Next.js is meaningful.

The goal is straightforward: your application code stays the same regardless of whether you're deploying to a Node.js server, a serverless platform, or an edge runtime. The adapter handles the translation. If you've ever tried to get ISR working correctly outside of Vercel and spent an afternoon reading GitHub issues, you'll understand why this matters.

Deployment targetBefore adaptersWith adapters
Node.js / VPSWorked, with caveatsConsistent behavior
AWS Lambda / ServerlessRequired manual configStandardized handling
Edge runtimesPartial supportProper runtime translation
Docker containersFunctional but fragilePredictable output

If you're currently running Next.js in a Docker container using the standalone build output, the adapter model will make that setup more predictable as it matures. The Next.js standalone Dockerfile guide covers current best practices while adapters continue to stabilize.

OpenNext

OpenNext is an open-source project that standardizes how Next.js runs on AWS infrastructure specifically. Before it existed, deploying Next.js to AWS in a production-grade way meant piecing together custom Lambda@Edge setups or accepting gaps in behavior compared to what Vercel provided.

OpenNext aims to replicate Vercel's routing, caching, and rendering behavior on AWS-native primitives. The project is still evolving, but the direction is clear: AWS should be a first-class deployment target, not an afterthought.

Vercel's Explicit Commitments

The most telling signal is Vercel making public commitments to improve self-hosting documentation, open up internal mechanisms, and actively support non-Vercel deployments. This is a strategic shift, and frameworks that want to be infrastructure-independent need to make that a deliberate choice.


Why This Matters in Practice

If you're running a serious Next.js application outside Vercel—whether for cost, compliance, infrastructure control, or just preference—the practical impact is significant.

Less configuration archaeology. Features like ISR, cache invalidation, and edge middleware have required digging through Vercel-specific internals to get them working elsewhere. Next.js caching has become increasingly capable, but the self-hosted story has consistently lagged behind. Adapters and a working group change the incentive structure for fixing that.

More viable infrastructure options. I've written before about self-hosted alternatives for Next.js—Fly.io, Google Cloud Run, bare VPS. Those options have always worked, but operational confidence around them is improving as platform support becomes more intentional.

Better long-term stability. When you're running a production application for a client, or building a platform that needs to run on infrastructure you control, framework behavior needs to be predictable. Standardized adapters reduce the risk that a Next.js update breaks something specific to your deployment environment.

If you're running Payload CMS alongside Next.js—a common setup if you've followed any of my guides—this is particularly relevant. A self-hosted Payload + Next.js 16 setup already works well, and better framework portability makes that architecture more sustainable over time.


The Honest Picture

This transition is still in progress. Some advanced features still behave best on Vercel. The caching model has gotten more powerful but also more complex—if you're migrating from unstable_cache to use cache, that migration has its own set of gotchas. Documentation is catching up with the new direction, not running ahead of it.

If you're evaluating Next.js against alternatives like TanStack Start right now, the self-hosting story is one of the concrete factors worth comparing. The TanStack Start vs Next.js comparison covers how the two frameworks differ on deployment flexibility alongside other dimensions.

The groundwork being laid now—working group, adapters, OpenNext—is the kind of infrastructure investment that takes a couple of framework cycles to fully materialize. The developers who benefit most from it are the ones who have been self-hosting Next.js through the awkward phase.


FAQ

What is the Next.js Ecosystem Working Group? A formal coordination body where hosting providers, tooling teams, and independent contributors align on how Next.js should behave across different deployment environments. The goal is consistent framework behavior regardless of where an application runs.

What are Next.js adapters and how do they work? Adapters are a compatibility layer that translates your application's output into the format expected by a specific runtime—Node.js, serverless functions, edge workers, etc. Your application code stays unchanged; the adapter handles the runtime-specific differences.

Is OpenNext production-ready? OpenNext is being used in production by teams deploying Next.js to AWS, but it's still evolving. It's actively maintained and improving, but evaluate it against your specific AWS architecture before committing to it.

Can I self-host Next.js with Docker today? Yes. The standalone build output works well for Docker-based deployments. The Next.js standalone Dockerfile guide covers exactly how to set that up with minimal image sizes and correct configuration.

Does this change affect Payload CMS deployments? Not directly, but indirectly yes. Better framework portability makes the infrastructure decisions around a self-hosted Payload + Next.js stack more sustainable. The self-hosted deployment guide covers the current setup in detail.


Conclusion

Next.js has been a platform-centric framework for long enough that many developers either accepted Vercel or accepted friction. The structural changes happening now—adapters, a working group, OpenNext, and explicit self-hosting commitments—are shifting that foundation.

If you've been self-hosting Next.js and dealing with the rough edges, the ecosystem is moving in your direction. If you've been avoiding Next.js because of deployment concerns, the picture is meaningfully better than it was a year ago.

Let me know in the comments if you have questions, and subscribe for more practical development guides.

Thanks, Matija

📄View markdown version
0

Frequently Asked Questions

Comments

Leave a Comment

Your email will not be published

Stay updated! Get our weekly digest with the latest learnings on NextJS, React, AI, and web development tips delivered straight to your inbox.

10-2000 characters

• Comments are automatically approved and will appear immediately

• Your name and email will be saved for future comments

• Be respectful and constructive in your feedback

• No spam, self-promotion, or off-topic content

Matija Žiberna
Matija Žiberna
Full-stack developer, co-founder

I'm Matija Žiberna, a self-taught full-stack developer and co-founder passionate about building products, writing clean code, and figuring out how to turn ideas into businesses. I write about web development with Next.js, lessons from entrepreneurship, and the journey of learning by doing. My goal is to provide value through code—whether it's through tools, content, or real-world software.

Table of Contents

  • The Quiet Friction of Self-Hosting Next.js
  • What's Actually Changing
  • The Ecosystem Working Group
  • Framework-Level Adapters
  • OpenNext
  • Vercel's Explicit Commitments
  • Why This Matters in Practice
  • The Honest Picture
  • FAQ
  • Conclusion
On this page:
  • The Quiet Friction of Self-Hosting Next.js
  • What's Actually Changing
  • Why This Matters in Practice
  • The Honest Picture
  • FAQ
Build With Matija Logo

Build with Matija

Matija Žiberna

I turn scattered business knowledge into one usable system. End-to-end system architecture, AI integration, and development.

Quick Links

Projects
  • How I Work
  • Blog
  • RSS Feed
  • Services

    • B2B Website Development
    • Bespoke AI Applications
    • Advisory

    Payload

    • B2B Website Development
    • Payload CMS Developer
    • Audit
    • Migration
    • Pricing
    • Payload vs Sanity
    • Payload vs WordPress
    • Payload vs Strapi
    • Payload vs Contentful

    Industries

    • Manufacturing
    • Construction

    Get in Touch

    Have a project in mind? Let's discuss how we can help your business grow.

    Book a discovery callContact me →
    © 2026BuildWithMatija•Principal-led system architecture•All rights reserved