Self-Hosted Vercel Alternatives: Hosting Next.js Under $10 a Month

Self-Hosted Vercel Alternatives: Hosting Next.js Under $10 a Month

HostingSift | | 10 min read

Vercel announced new pricing tiers for 2026. The Pro plan is $20 per user per month. Bandwidth above the included 1 TB costs $40 per 100 GB. Edge function executions are billed extra. An average SaaS Next.js project with reasonable traffic easily reaches $200-500 a month. All while running on shared infrastructure with rate limits and cold starts.

The same Next.js project can run on a 5 EUR Hetzner VPS if you know what you are doing. Coolify, Dokploy or CapRover give you a Vercel-like developer experience on your own infrastructure. Push to Git, automatic deploy, SSL certificate, preview environments.

This article shows how to host a Next.js application for under $10 a month using real VPS plans from our database. With a full comparison of Coolify, Dokploy and CapRover, plus exact setup commands.

How much does Vercel actually cost for a real project

Before jumping to alternatives, let me set a realistic benchmark. An average Next.js SaaS application with:

  • 5,000 unique visitors per month
  • 200 GB of bandwidth (images, API responses)
  • 2 developers on the team
  • Image Optimization for 1,000 unique images
  • Minimal serverless function invocations

Vercel bill: $20 (Pro plan) x 2 users = $40. Image Optimization above the free limit: $5. Function executions over the cap: $10. Total: roughly $55-75 a month. And that is moderate usage. If your traffic is higher, or your team is 5+ people, the bill quickly hits $300+.

The same application on a Hetzner CX23 (3.49 EUR/mo): better CPU, dedicated 4 GB RAM, 20 TB of included traffic (100x the Vercel Pro limit), and unlimited "users" because there is no per-seat pricing. You save 90%+ with the same or better developer experience.

Real VPS options for Next.js under $10 a month

I pulled all the suitable VPS plans straight from our database that would host a typical Next.js application. Minimum: 2 vCPU, 4 GB RAM, 40 GB storage. Under $10 (or 10 EUR) a month.

ProviderPlanPrice/movCPURAMStorageBandwidth
HetznerCAX11 ARM3.79 EUR24 GB40 GB NVMe20 TB
HetznerCX23 Intel3.49 EUR24 GB40 GB NVMe20 TB
ContaboCloud VPS 103.60 EUR48 GB75 GB NVMeUnlimited
HostingerKVM 1$6.4914 GB50 GB NVMe4 TB
DigitalOceanBasic Premium AMD 1G$711 GB25 GB NVMe1 TB
HostingerKVM 2$8.9928 GB100 GB NVMe8 TB
NetcupVPS 500 G124.87 EUR24 GB128 GB NVMeUnlimited

Hetzner CAX11 ARM at 3.79 EUR is my first pick for most cases. ARM is great for Node.js workloads, NVMe storage is fast, 20 TB of traffic is practically unlimited. Edge case: if you have native dependencies compiled only for x86, use the CX23 instead.

Contabo Cloud VPS 10 is exceptional value. 4 vCPU and 8 GB RAM at 3.60 EUR. Suitable for applications with higher CPU load (image processing, PDF generation, ML inference).

For developers in countries with a more stable USD, Hostinger KVM 2 at $8.99 is a great enterprise-level setup with 8 GB RAM.

Coolify vs Dokploy vs CapRover: which self-hosted PaaS to pick

The three dominant options for a self-hosted Vercel experience. I am comparing them on real criteria for developers.

CriterionCoolifyDokployCapRover
Project age202120242017
GitHub stars (2026)40K+15K+13K+
Minimum system requirements2 GB RAM2 GB RAM1 GB RAM
Next.js supportNative (Nixpacks)Native (Nixpacks)Via captain-definition
Preview environmentsYesYesNo
Auto SSL (Let''s Encrypt)YesYesYes
Docker Swarm/multi-hostYesYes (Swarm)Yes (Swarm)
UI qualityExcellentExcellentFunctional but stale
Documentation clarityGoodGoodBasic

My recommendation: Coolify for most cases. Actively maintained, large community, excellent Next.js support, preview environments at no extra cost. Bonus: founder Andras Bacsai actively answers GitHub issues, which is rare for OSS projects.

Dokploy is the rising star. A bit younger but a Vercel-like UI with cleaner execution. A solid pick if you are starting fresh with no legacy reasoning.

CapRover remains a good choice for minimalist setups. Lower overhead, runs on 1 GB RAM servers, but lacks modern features like preview deployments.

Step-by-step: Next.js on Hetzner with Coolify

A real setup you can replicate in under 30 minutes. I am assuming you have a Hetzner account and a Git repo with a Next.js application.

Step 1: Create the VPS

In the Hetzner Cloud Console:

  • Location: Falkenstein (DE) or Helsinki (FI) for European users, Ashburn (US) for American
  • Image: Ubuntu 24.04 LTS
  • Type: CAX11 (ARM, 4 GB RAM, 3.79 EUR/mo)
  • SSH key: add your public key
  • Firewall: ports 22, 80, 443 inbound

About 30 seconds later the VPS is ready with a public IP.

Step 2: Install Coolify

SSH into the server and run the official installer:

ssh root@your-vps-ip
curl -fsSL https://cdn.coolify.io/coolify/install.sh | bash

The script installs Docker, configures Coolify, and starts all containers. Takes 3-5 minutes on a CAX11. At the end you see a URL: http://your-vps-ip:8000.

Step 3: DNS setup

Before opening the Coolify UI, point a domain at the server IP. In your DNS provider (Cloudflare, Namecheap):

  • A record: app.yourdomain.com → VPS IP
  • A record: coolify.yourdomain.com → VPS IP (for management)

Cloudflare proxy should be off (gray cloud) for the initial SSL setup. You can switch it on afterwards.

Step 4: Connect GitHub

In the Coolify UI go to Sources → Add → GitHub App. Coolify creates a GitHub App automatically and sets up the webhooks. After that, all repos in the chosen organization are accessible.

Step 5: Deploy the Next.js application

Resources → New Resource → Public/Private Repository. Pick the repo, branch (main), build pack: Nixpacks (auto-detects Next.js). Coolify automatically:

  • Detects package.json
  • Runs npm install and npm run build
  • Wraps it in a Docker container
  • Configures a reverse proxy with Traefik
  • Requests a Let''s Encrypt SSL certificate

After 2-4 minutes the app is live at https://app.yourdomain.com. Every subsequent git push to main triggers a new deploy automatically.

Step 6: Environment variables and database

In Coolify, add env vars through the UI: DATABASE_URL, NEXTAUTH_SECRET, and anything else you need. For PostgreSQL: Resources → New → Database → PostgreSQL. Coolify creates a container on the same VPS and gives you an internal hostname (e.g. postgresql-xyz) for the Next.js container to connect to.

For a production app I recommend a managed database (Supabase, Neon, or Hetzner Cloud Database). Backups, replication, and point-in-time recovery are more reliable than self-managed.

What you lose vs Vercel and what you gain

Be honest. Self-hosting is not a free lunch. There are real trade-offs.

What you lose:

  • Edge network: Vercel has 100+ edge locations globally. Your Hetzner VPS sits in one specific data center. Solution: Cloudflare CDN in front (free plan, 100% coverage).
  • Image Optimization at scale: Vercel''s ITS is well optimized. The Coolify version: next/image with sharp works well, but there is no automatic CDN cache. You can solve this with an image optimization proxy.
  • Zero-config preview environments: Vercel automatically deploys every PR. Coolify has preview environments, but they need configuration.
  • Edge functions: Vercel runs code at the edge. A self-hosted setup has no equivalent. For most apps this is not critical.
  • Analytics and observability: Vercel has Web Vitals and Real User Monitoring built in. Self-hosting requires separate tools (Plausible, PostHog, Sentry).

What you gain:

  • Predictable cost: 5 EUR a month. No bandwidth surprises. No per-user fees.
  • No vendor lock-in: everything runs on standard Docker. You can migrate to another VPS in an hour.
  • Long-running tasks: Vercel serverless functions have 10-60 second limits. On a VPS you can run jobs of any duration.
  • Self-hosted databases on the same network: PostgreSQL and Redis on the same VPS. Latency between app and DB: under 0.5ms. No cold starts.
  • Privacy: data does not pass through external SaaS. Easier GDPR compliance.
  • Multi-app hosting: on the same VPS you can host 5-10 small applications. The setup cost amortizes dramatically across many projects.

Production checklist before going self-hosted

I do not recommend a direct migration of a mission-critical app without these things in place:

  • Automated backups: Hetzner offers automated snapshots ($1/mo). On top of that: pg_dump to object storage (Backblaze B2, Hetzner Storage Box) on a cron schedule.
  • Monitoring: Uptime Kuma (self-hosted) or Better Stack for external uptime checks.
  • Error tracking: Sentry or GlitchTip (self-hosted Sentry).
  • SSL auto-renewal: Coolify handles this automatically, but verify after the first 90 days.
  • Firewall: Hetzner Cloud Firewall on ports 22 (SSH from your IP only), 80, 443.
  • Fail2ban: blocks brute-force SSH attempts.
  • Disaster recovery plan: if the VPS dies, how do you restore? Snapshots plus git repo plus database backups.

When Vercel remains the better choice

Self-hosting is not universal. There are cases where Vercel or a similar managed PaaS is the right call:

  • Solo founder with no DevOps experience: if you are not comfortable on the command line, use Vercel or Railway.
  • Global audience needing the edge: if traffic is evenly distributed across U.S., EU, and Asia, the Vercel edge network has real value.
  • Heavy serverless workloads: if the application leans hard on Vercel-specific features (Edge Middleware, ISR with automatic revalidation).
  • Pre-revenue startup: the Vercel hobby tier is free. Do not optimize costs that do not exist.
  • Sporadic traffic with high spikes: serverless is cheaper for an app that gets 100K requests in 1 hour and 0 for the other 23.

For everything else, a stable B2B SaaS, an agency project, personal projects, side hustles, e-commerce, self-hosting on a Hetzner or Hostinger VPS is the better deal.

Alternative managed PaaS options

If self-hosting Coolify feels premature, there is a middle ground.

  • Railway ($5 free credits): more expensive than self-hosting but pay-as-you-go and zero setup. Read our review of Railway and Render.
  • DigitalOcean App Platform: $5+/mo. Built-in CI/CD, but more expensive than App Plan at equivalent capacity.
  • Hostinger Cloud from $7.99/mo: managed cloud hosting with WordPress preinstalled or a setup for custom apps.
  • Diploi Cloud from 4.38 EUR: managed Kubernetes, steeper learning curve but enterprise-grade.

FAQ

How much technical experience do I need for self-hosting?

Basic SSH skills, an understanding of Docker (not deep), and willingness to read documentation. With Coolify most tasks are GUI-driven. CapRover is a bit more complex. If you have never opened a terminal, look at Railway as an intermediate step first.

What happens if my VPS goes down?

The site is offline until restart. With automated snapshots from Hetzner you can restore an entire server in 5 minutes. For high availability you need a multi-VPS setup with a load balancer (which gets expensive and erodes the cost benefit).

Does Coolify support Next.js App Router and Server Actions?

Yes. Coolify uses Nixpacks or runs next start directly. All modern Next.js features work. Edge runtime does not work, because Edge runtime is a Vercel-specific abstraction.

How many projects can I host on one VPS?

On a Hetzner CAX11 (4 GB RAM): 3-5 small Next.js apps plus PostgreSQL. On a CX33 (8 GB RAM, 5.49 EUR): 8-12 apps. Each container consumes around 150-300 MB of RAM.

How do I add a custom domain?

In Coolify: Application → Settings → Domains. Add app.example.com. Point a DNS A record to the VPS IP. Coolify automatically issues an SSL certificate within 60 seconds.

How does this compare to Cloudflare Pages?

Cloudflare Pages is free for static sites and up to 100K function invocations. For a purely static Next.js (output: ''export'') it is a great choice. For a dynamic Next.js with server-side rendering, self-hosting offers more flexibility.

Are there ARM compatibility issues?

Most Node.js packages run fine on ARM. Exceptions: native modules without prebuilt ARM binaries (for example old versions of bcrypt). Quick fix: use argon2 instead of bcrypt, or pick an x86 VPS (CX23 is the same price).

Conclusion

Self-hosting Next.js on a VPS for under $10 a month is fully realistic in 2026. A Hetzner CAX11 at 3.79 EUR plus Coolify gives you 90% of the Vercel developer experience at 5% of the cost. The compromise is real. You lose the edge network and automatic preview deployments. But if you are working on a B2B SaaS, an agency project, or a personal side project, the savings are huge.

Recommended stack:

  • VPS: Hetzner CAX11 ARM (3.79 EUR) or Hostinger KVM 2 ($8.99)
  • PaaS: Coolify (40K+ stars, active community)
  • CDN: Cloudflare free plan
  • Database: managed (Supabase) or self-hosted PostgreSQL on the same VPS
  • Monitoring: Uptime Kuma plus Sentry/GlitchTip

Further reading: How to host a Next.js application (full guide), Cloudways vs DigitalOcean comparison, and all VPS hosting comparisons.

Share this article

Mentioned Hostings

Related Comparisons

Related Articles