SystemNexa
Home
Solutions
Expertise
Industries
Work
BlogsCompanyContact
Cost calculatorStart a conversation
SystemNexa

Web platforms, custom software, automation and infrastructure for organisations that need the system to keep working after launch.

Services

  • AI Voice Agents
  • Custom Web Applications
  • Managed Application Services
  • Software Testing & QA
  • AI Workflow Automation
  • SaaS Modernisation
  • All services

Solutions

  • Engineering
  • AI & Automation
  • Infrastructure
  • Growth
  • All solutions

Free tools

  • Website Security Check
  • Web App Cost Calculator
  • Missed Call Cost Calculator
  • Booking Fee Calculator

Company

  • About SystemNexa
  • Selected work
  • Industries
  • Expertise
  • Blogs
  • Contact

Contact

  • Email

    [email protected]
  • WhatsApp

    +1 (727) 456-9863
  • Enquiries

    Contact form→
  • Remote first, based in Pakistan, working with clients in the UK and internationally.

Privacy

We process enquiry details to respond to your request and operate our services. See our Privacy Policy for how data is handled. Read the Privacy Policy.

Legal

  • Privacy Policy
  • Terms of Use

© 2026 SystemNexa. All rights reserved.

We turn enquiries, bookings and payments into systems your team can actually run.

WhatsApp
  1. Home
  2. /Blogs
  3. /Next.js Hosting: Vercel, Docker or Your Own Servers?
Infrastructure10 October 2026·8 min read

Where Should a Next.js App Run? Vercel, Docker or Your Own Servers

A decision framework for hosting a Next.js application: what each option includes, what self-hosting makes you responsible for, and the questions that matter more than the monthly bill.

By SystemNexa Editorial

In this article
  1. The options, in plain terms
  2. Six questions that decide it
  3. What self-hosting makes you responsible for
  4. Security considerations
  5. The cost question, answered honestly
  6. When we would suggest each
  7. How SystemNexa can help
  8. Conclusion
  9. Frequently asked questions
  10. Sources and further reading

"Where should we host this?" is one of those questions that sounds like infrastructure and is really about people. A Next.js application will run happily on a managed platform, in a container, or on a server you look after yourself. The framework does not much care. What differs is who patches it at three in the morning, who notices when the cache misbehaves and what happens to your bill when traffic spikes.

The short answer

Next.js can be deployed as a Node.js server, a Docker container, a static export or through platform adapters, and the official documentation says Node.js and Docker deployments support all Next.js features. Choose a managed platform when you want someone else to carry the operational load and your usage pattern suits it. Choose containers or your own servers when you need control over data location, networking or cost at steady high volume, and you have people to run it. In between, the deciding factors are usually patching, caching and team capacity rather than the headline price.

This article is a framework, not a recommendation of a vendor. We do not quote hosting prices here because they change frequently and depend on your traffic. We cite the official documentation for every claim about what Next.js supports.

The options, in plain terms

Next.js deployment options as described in the official documentation
OptionFeature supportYou are responsible forTypical fit
Managed platform with a verified adapterFull, tested by the Next.js team against the compatibility suiteYour code, configuration and spend controlsTeams that want the least operational work
Other platform integrationsVaries. The docs say these are not verified by the Next.js team and compatibility may varyChecking that the features you use actually work thereExisting commitments to a particular provider
Node.js server (VPS or platform as a service)All featuresOperating system, runtime, process management, proxy, patching, backupsSteady workloads and small teams comfortable with servers
Docker containerAll featuresImage builds, base-image patching, orchestration, scaling, observabilityTeams already running containers, or who need portability
Static exportLimited: server features are unsupportedOnly the files you publishBrochure sites with no server-side needs
Source: Next.js Deploying documentation, accessed 10 October 2026. At that date the documentation lists Vercel and Bun as verified adapters, and says Cloudflare and Netlify are working on verified adapters.

Two points deserve a second look. First, "full feature support" on a Node.js server or in a container is real, but it assumes you configure the server for your environment. Second, the adapter model matters for the long term. Vercel's March 2026 post on running Next.js across platforms describes a stable Adapter API arriving with 16.2, which is a sign the framework is being designed to be portable rather than tied to one host.

Six questions that decide it

  1. Who patches it? A framework such as Next.js ships security fixes several times a year. On a managed platform you still upgrade the dependency, but the platform handles much of the surrounding infrastructure. On your own servers you also own the operating system, the container base image and the proxy. Our web application maintenance checklist lists what that involves.
  2. Which features do you use? Image optimisation, incremental static regeneration, Server Actions, streaming and caching behave differently depending on where they run. List them before you choose.
  3. What does your traffic look like? Spiky, unpredictable traffic favours platforms that scale for you. Flat, predictable traffic favours fixed-cost servers. We have not verified any cost comparison, so test with your own numbers.
  4. Where must the data live? If you have data-residency or contractual constraints, you need to know exactly which regions processing and storage use. Ask the provider in writing.
  5. Who is on call? Self-hosting is a rota, not a one-off setup. If nobody can respond to an incident, the cheaper option is not cheaper.
  6. How would you leave? Keep your build reproducible, your data exportable and your use of platform-only features deliberate. Portability is a design choice made early, as we describe in modernising legacy systems without a rewrite.

What self-hosting makes you responsible for

The official self-hosting guide is blunt about the extra work. These are the main points it raises.

  • Put a reverse proxy in front. The guide recommends a reverse proxy such as nginx rather than exposing the Next.js server directly, to handle malformed requests, slow connection attacks, payload limits and rate limiting.
  • Plan for image optimisation. On glibc-based Linux systems the guide notes that image optimisation may need extra configuration to avoid excessive memory use.
  • Treat caching as a design topic. A single instance with persistent local disk works automatically. Multiple instances, ephemeral compute or a CDN in front need the cache configured deliberately, including a shared cache handler and coordination of cache tags for App Router deployments.
  • Share the Server Functions key. All instances must use the same encryption key, set through NEXT_SERVER_ACTIONS_ENCRYPTION_KEY, or you will see "Failed to find Server Action" errors.
  • Manage version skew. During rolling deployments, a configured deployment identifier lets Next.js detect and handle clients on old assets.
  • Shut down gracefully. The guide recommends a drain period of 10 to 30 seconds so in-flight requests and background work can finish.

A container makes some of this easier to repeat. Docker's official guide shows a multi-stage build using the standalone output, which produces a self-contained server with only the files it needs, and runs it as a non-root user. This is an illustrative configuration fragment, not a complete deployment:

// next.config.ts (illustrative)
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  output: "standalone",
};

export default nextConfig;

The Next.js documentation also notes that a single Docker image can be promoted through environments with different environment variable values, which is a good habit whichever host you choose.

Security considerations

Hosting changes your attack surface in specific ways, and the 2026 advisories show how.

  • Host headers. A July 2026 advisory covers server-side request forgery in Server Actions on custom servers. It says applications are affected when the incoming host header is not fixed to a trusted value, that managed hosting pins the host upstream, and that next start and standalone output do so from version 14.2. If you run a custom server or sit behind a proxy that does not pin the host, validate Host and X-Forwarded-Host yourself.
  • Image remote patterns. The September 2026 release fixed a high-severity server-side request forgery in image optimisation that depended on images.remotePatterns configuration. Keep those patterns as narrow as possible.
  • Patching discipline. The same releases show why hosting and upgrades are linked. Pair this decision with a patch routine, as explained in our Next.js 16 upgrade checklist.
  • Secrets and environments. Keep secrets out of images and repositories, separate production from staging and rotate anything that has been shared.

The cost question, answered honestly

You will find posts online claiming dramatic savings from leaving a managed platform, and others warning that self-hosting costs more than it saves. We could not verify either kind of claim, and they usually leave out something: engineering time, incident risk, egress, or the value of not being on call. A fairer comparison lists, for each option over twelve months:

  1. Platform or server charges at your expected traffic, plus a pessimistic case.
  2. Engineering hours to build, secure and maintain the setup.
  3. Monitoring, logging and backup tooling.
  4. Support and incident response, including who covers holidays.
  5. The cost of being down for an hour, which only you can estimate.

If the numbers are close, choose the option your team can run well. If they are far apart, make sure you have counted everything on both sides.

When we would suggest each

  • Managed platform first for new products, small teams and spiky traffic, with a clear note of which platform-specific features you adopt.
  • A container on a managed container service when you want portability without running servers.
  • Your own servers when you have a real reason, such as data location, existing infrastructure or very steady high volume, and the people to run them.
  • A static export only when the site genuinely has no server-side needs.

None of these is permanent. A sensible path is to start where you can ship, keep the application portable and revisit the decision when your traffic, team or compliance position changes.

How SystemNexa can help

We build and deploy Next.js applications across these options. Our cloud deployment and SaaS modernisation and cloud deployment work covers choosing a host, setting up repeatable builds and moving an existing application with its URLs and redirects intact. You can read more about Next.js development and backend development too.

Conclusion

Hosting is a decision about responsibility. Pick the option whose operational burden matches your team, keep your application portable, and put patching and monitoring in the plan from day one. If you are weighing a move or planning a first deployment, tell us what you are running and we will give you an honest view of the trade-offs.

Frequently asked questions

Can Next.js run somewhere other than Vercel?
Yes. The official deployment documentation lists a Node.js server, a Docker container, a static export and platform adapters as supported options. Node.js and Docker deployments support all Next.js features, while static export is limited and other platforms vary in what they support.
Is self-hosting Next.js cheaper?
It can be on the infrastructure line, but infrastructure is rarely the whole cost. You also take on patching, monitoring, caching, backups and being on call. Claims online of large savings depend heavily on traffic and on how much engineering time the comparison counts, so we would model your own numbers rather than rely on anyone else's.
What breaks first when you run more than one instance?
Typically caching and Server Actions. The official self-hosting guide says multiple instances need a shared cache, a consistent Server Functions encryption key and a deployment identifier to avoid version skew, and App Router deployments also need cache tag coordination.
Does moving hosts affect our SEO?
It can if URLs, redirects, response headers or speed change in the process. A move that keeps URLs and redirects identical and is checked against page speed before and after should not harm search visibility, but nobody can promise a ranking outcome.

Sources and further reading

Facts, prices and dates in this article were checked against these pages on the dates shown. Vendor prices and regulations change, so check the source before you rely on a figure.

  1. Deploying · Next.js documentation · accessed 10 October 2026
  2. Self-hosting · Next.js documentation · accessed 10 October 2026
  3. Deploying to platforms · Next.js documentation · accessed 10 October 2026
  4. Next.js across platforms: adapters, OpenNext, and our commitments · Vercel · accessed 10 October 2026
  5. Containerize a Next.js application · Docker documentation · accessed 10 October 2026
  6. GHSA-89xv-2m56-2m9x: Server-Side Request Forgery in Server Actions on custom servers · GitHub (vercel/next.js) · accessed 10 October 2026
  7. September 2026 Security Release · Vercel · accessed 10 October 2026

About this article

Published by SystemNexa Editorial. Prices, dates and regulatory references were checked against the sources listed above on 10 October 2026.

This is general information about technology and business practice. It is not legal, financial or security advice, and it reflects what was published when it was checked.

In this article

  1. The options, in plain terms
  2. Six questions that decide it
  3. What self-hosting makes you responsible for
  4. Security considerations
  5. The cost question, answered honestly
  6. When we would suggest each
  7. How SystemNexa can help
  8. Conclusion
  9. Frequently asked questions
  10. Sources and further reading

Planning a build?

Get a UK price range, timeline and running costs for your project in about a minute.

Estimate your costor talk to an engineer

Services

Related capabilities

Infrastructure

Cloud Deployment

Environments, deploy pipelines and hosting setups engineered for reliable release.

Explore →
Engineering

Next.js Development

High-performance Next.js applications for product, marketing and hybrid content systems.

Explore →
Infrastructure

Backend Development

APIs, domain services and data models that keep products reliable as they grow.

Explore →

Continue reading

Related blogs

Engineering10 Oct 2026·9 min read

Upgrading to Next.js 16: A Checklist for Owners and Engineers

What actually changes when a Next.js application moves to version 16, in what order to do it, and why the patch cadence matters as much as the upgrade itself.

Read article →
Business Technology10 Oct 2026·9 min read

Web Application Maintenance Checklist: What a Good Plan Actually Covers

A practical checklist of the controls that keep a business web application safe, working and understood, with owners, frequencies and the evidence you should expect to see.

Read article →
Business Technology10 Oct 2026·9 min read

How to Modernise a Legacy Web Application Without a Big-Bang Rewrite

The strangler fig approach replaces an old system piece by piece while it keeps running. Here is how it works, when it does not suit, and how the routing, data and testing steps fit together.

Read article →

Want a second opinion on your options?

Share what you have in mind and any quotes or constraints. We will tell you where we would be cautious and what we would check first.

Ask for a second opinionAbout SaaS Modernisation