Key takeaways

  • A self-hosted Vercel alternative deploys your app to a server you rent, so you pay a VPS provider a flat monthly price and take on patching, backups and uptime yourself.
  • Coolify and Dokploy come closest to the Vercel workflow, with web dashboards, Git integration and preview deployments, and both run a panel and Docker on your server.
  • CapRover adds a web panel on Docker Swarm, and Dokku gives you Heroku-style git push deploys driven by a CLI on the server.
  • Kamal is a free command-line tool from 37signals that runs Docker over SSH, with no dashboard and no paid tier.
  • Shipown is a desktop app that deploys over SSH, installs nothing of its own on the server and does not require Docker, but it has no preview deployments and no deploy on git push.
  • Choose by how you want to work: a web panel for a team, git push from a terminal, a CLI for container deploys, or a desktop app.

The self-hosted alternatives to Vercel fall into three groups: web panels you install on your own server (Coolify, Dokploy, CapRover), a git-push PaaS that lives on the server (Dokku), and tools that run on your own computer and drive the server over SSH (Kamal, Shipown). All six deploy to a VPS you rent, so hosting becomes a flat monthly bill from your provider instead of per-seat and usage pricing. What separates them is how much each one puts on your server and how you work with it day to day.

Why look for a self-hosted alternative to Vercel?

Vercel is a hosted platform: your app is built from Git and runs on Vercel's infrastructure. Its Hobby plan is free, but Vercel describes it as "for personal, non-commercial use", and it has hard monthly caps with no paid overage, so going past a limit usually means waiting up to 30 days (Hobby plan). Pro costs $20 per developer seat per month as of October 2026, includes a $20 usage credit, 1 TB of Fast Data Transfer and 10 million CDN requests, and is pay-as-you-go beyond that with no cap by default (Vercel pricing).

That model suits many teams. People look elsewhere for three common reasons:

  • The project is commercial but small, and the per-seat price plus usage feels out of proportion.
  • They want a bill that stays the same whatever the traffic does.
  • The database and other services already run on a VPS, and they want the app next to them.

A full side-by-side of Vercel and our own tool is in Shipown vs Vercel.

What do you give up when you leave Vercel?

Be clear about this before you move. Vercel gives you preview deployments for every change, Instant Rollback, a global CDN, DDoS mitigation and a web application firewall, and no server for you to manage. Some of the tools below give you back preview deployments and rollbacks. None of them changes the basic fact of self-hosting: your app is served from the server you rent, and patching the operating system, backing up data and keeping the machine up are your job, whichever tool deploys to it.

If that trade sounds wrong for your project, Vercel may simply be the right answer.

How were these six tools compared?

Each tool below gets the same six questions:

  • What it is, in the vendor's own terms.
  • What it installs on your server.
  • How you use it: web dashboard, CLI, git push or desktop app.
  • What it costs, as of October 2026, with a link to the vendor's page.
  • Who it suits best.
  • Where it stops: requirements, missing features and paid-only features.

The order runs from the most server-side software to the least. Coolify, Dokploy and CapRover run a full web panel on your server. Dokku installs a package and is driven from the command line on the server. Kamal runs on your machine and puts Docker and its proxy on the server. Shipown runs on your machine and installs no component of its own.

1. Coolify: an open-source PaaS panel

Coolify is an open-source, self-hostable PaaS that describes itself as an alternative to Vercel, Heroku, Netlify and Railway. It runs as a web panel on your own Linux server, or as Coolify Cloud, a hosted panel that connects to your servers. It has the widest feature list in this guide: multi-server support; Git integration with GitHub, GitLab, Bitbucket and Gitea; pull-request preview deployments; more than 280 one-click services; one-click databases including PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, Dragonfly and ClickHouse; S3 backups; teams with roles, 2FA and SSO; free Let's Encrypt certificates; webhooks; scheduled tasks; monitoring; notifications; Cloudflare Tunnels; and what it calls instant rollbacks. Its AI integration is through an MCP server that lets Claude or Cursor list resources, deploy, read logs, restart services and troubleshoot failed deployments.

  • What it installs: the panel host runs Coolify as Docker containers, including PostgreSQL and Redis, and needs at least 2 CPU cores, 2 GB of RAM and 10 GB of disk on Linux amd64 or arm64. Each server you connect gets Docker Engine and Compose, a coolify-proxy container (Traefik by default, with Caddy or no proxy as options), and the Sentinel agent, which is on by default for new servers and can be disabled (Coolify installation).
  • Interface: web dashboard and REST API, plus an official CLI for Linux, macOS and Windows. Apps are deployed as containers built with Nixpacks, Railpack, a Dockerfile or Compose.
  • Pricing (as of October 2026): self-hosted is "Free forever" with all features, under Apache-2.0. Coolify Cloud costs $5 a month including 2 servers, plus $3 a month per extra server, and annual billing saves 20% (Coolify pricing).
  • Best for: teams that want the nearest thing to Vercel's workflow on their own servers, with a dashboard, previews and roles, and are happy to run everything in containers.
  • Limits: the panel is itself an application to keep running and updated; its host needs at least 2 cores and 2 GB of RAM; every connected server runs Docker, a proxy container and, by default, an agent.

2. Dokploy: a panel built on Docker Swarm

Dokploy is a web panel that you install on your own server with a curl script, or use as Dokploy Cloud, a managed panel with a 7-day trial. Either way, your apps run on your servers. Its strengths are multi-server deploys, Docker Swarm across several nodes, native Docker Compose, one-click templates such as Supabase, Cal.com and PocketBase, databases (MySQL, PostgreSQL, MongoDB, MariaDB and Redis) with backups, CPU, memory and network monitoring with alerts, roles and permissions, preview deployments, and webhook and git deploys. Rollbacks come two ways: Swarm rolls back automatically when a health check fails, and you can roll back by hand to an earlier deployment once an image registry is configured. Its "AI Generate" feature writes a Docker Compose file from a plain-language description using your own key for an OpenAI-compatible provider, such as OpenAI, Anthropic, Ollama, OpenRouter or Azure OpenAI, and its homepage mentions an MCP connection.

  • What it installs: the installer installs Docker if it is missing, runs docker swarm init, creates an overlay network, and starts PostgreSQL 16, the Dokploy service and Traefik v3. The panel host needs at least 2 GB of RAM and 30 GB of disk (Dokploy installation). Remote servers are set up with RClone, Docker, Swarm, Traefik, Nixpacks, Buildpacks and Railpack, according to its source code (remote servers).
  • Interface: web dashboard, plus an API and a CLI. Apps are deployed as containers built with Nixpacks, Heroku Buildpacks or a Dockerfile.
  • Pricing (as of October 2026): the self-hosted open-source edition is free, under Apache-2.0 except for a /proprietary directory; custom roles, SSO, SCIM, audit logs and whitelabelling are not in it. Cloud Hobby is $4.50 a month per server (1 user, 1 organization, 2 environments, 1 backup per app or database). Cloud Startup starts at $15 a month including 3 servers, then $4.50 per extra server, with unlimited users, basic roles and 2FA. Enterprise and Agency plans are on request, and annual billing saves 20% (Dokploy pricing).
  • Best for: stacks built around Docker Compose, and teams that want a dashboard over a multi-node Swarm cluster.
  • Limits: every server runs Swarm and Traefik; the panel host needs 2 GB of RAM and 30 GB of disk; manual rollback needs an image registry; enterprise features sit outside the free edition.

3. CapRover: a PaaS panel on nginx and Swarm

CapRover calls itself a "scalable, free, and self-hosted PaaS". It is a web panel installed on your server, with its dashboard on port 3000, plus a CLI you install with npm install -g caprover and use with caprover deploy. Its strengths are one-click apps, Docker Swarm clusters with load balancing, automatic Let's Encrypt certificates, and deploys from the dashboard, the CLI, a webhook or git. Its site does not mention AI features.

  • What it installs: CapRover needs Docker 25 or later already installed, a public IP, and ports 80, 443 and 3000 open; HTTPS needs wildcard DNS. Its stack is Docker, nginx, Let's Encrypt and Docker Swarm, and its docs warn that "512MB RAM might not be enough" (CapRover getting started).
  • Interface: web dashboard and CLI. Node apps run in containers, from a template such as templateId: node/24 or from a Dockerfile (captain-definition file).
  • Pricing (as of October 2026): free forever, under Apache 2.0. A paid Pro plan adds build notifications, login alerts, 2FA and SLA email support; see caprover.com for its current price.
  • Best for: developers who want a dashboard and one-click apps on one server, with a path to a Swarm cluster later.
  • Limits: Docker must be installed before CapRover; port 3000 has to be reachable for the dashboard; HTTPS depends on wildcard DNS; 2FA and login alerts are in the paid Pro plan.

4. Dokku: Heroku-style git push on your server

Dokku describes itself as "an open source PAAS alternative to Heroku". It is installed on your server and driven by git push and a command-line tool on the server. Its strengths are git push deploys, compatibility with Heroku buildpacks, a plugin system with official plugins for Postgres, MySQL, MariaDB, Redis, Mongo and Let's Encrypt, and multi-server setups through K3s. Its site does not mention AI features.

  • What it installs: Dokku supports Ubuntu 22.04, 24.04 and 26.04, and Debian 11 or later, and needs 1 GB of RAM with the Docker scheduler. The bootstrap script installs Docker and the dokku package, and nginx routes traffic to your apps (Dokku installation).
  • Interface: git push from your machine and a CLI on the server. A web UI and a REST API come with Dokku Pro. Apps run in containers, from a Dockerfile or Heroku buildpacks.
  • Pricing (as of October 2026): Dokku is MIT-licensed and free. Dokku Pro is a $849 one-time lifetime licence at its early-bird price, covering 1 production and 2 pre-production servers, and adds the web UI, the REST API, git push over HTTP(S), team management and email support (Dokku Pro).
  • Best for: developers who liked Heroku's git push workflow and want it on their own VPS, working from a terminal.
  • Limits: the free version has no web interface; configuration happens through commands on the server; the web UI and team management cost extra.

5. Kamal: container deploys from a CLI

Kamal is an open-source deploy tool from 37signals, which uses it in production. It runs basic Docker commands over SSH to deploy any web app that can be put in a container. Its strengths are zero-downtime deploys, rolling restarts, remote builds, "accessories" for running services such as databases, multi-server configuration, automatic Let's Encrypt certificates for single-server deploys, and kamal rollback <version> to return to an earlier version.

  • What it installs: Kamal needs a plain Ubuntu server and an SSH key. kamal setup installs Docker, which needs root, and runs kamal-proxy on ports 80 and 443. Images go through a registry, Docker Hub by default, or a local registry when the registry name is localhost (Kamal registry configuration).
  • Interface: CLI only, with no dashboard. It is installed as a Ruby gem or run in Docker (Kamal installation).
  • Pricing (as of October 2026): MIT-licensed, with no paid tier (Kamal on GitHub).
  • Best for: teams comfortable in a terminal who want zero-downtime container deploys across one or several servers, without a panel.
  • Limits: no dashboard; a container registry is part of every deploy; automatic Let's Encrypt only covers single-server deploys; you need Ruby or Docker on your own machine to run it.

6. Shipown: a desktop app that deploys over SSH

Shipown is a desktop app for Windows (an .exe) and Linux (a .deb for Debian and Ubuntu) that deploys web apps to your own Linux server over SSH, with no agent on the server. It deploys three runtimes: Node apps such as Next.js, Nuxt, Remix, SvelteKit, NestJS, Fastify and Express under PM2; static sites from Vite, Astro or plain HTML served by Nginx; and Dockerfile or Compose apps as containers behind Nginx (Docker deploys). The source is a GitHub repository and branch or a folder on your computer. Shipown detects the framework and shows an editable build plan, builds on the server or on your PC, and streams the real build output. Each deploy is its own release directory, the live pointer moves only after the health check passes, a failed deploy restores the previous release, and rolling back is picking an earlier release (rollback). It writes the Nginx virtual host and gets HTTPS from Certbot, monitors the server live, and has an AI terminal that uses your own Anthropic, OpenAI or DeepSeek key and proposes one command at a time for you to approve (AI terminal). The same app manages cron, the firewall, swap, log rotation, fail2ban, deploy users and MySQL, MariaDB, PostgreSQL and MongoDB backups with restore (server management).

  • What it installs: nothing of its own. It inspects the server and offers what is missing: PM2 preparation, Docker installation, and Nginx with Certbot for domains and HTTPS. A Docker-only server can add domains and HTTPS without installing Node.js or PM2 (server operations).
  • Interface: desktop app only, on Windows and Linux. There is no web dashboard, API or CLI, and no macOS app yet.
  • Pricing (as of October 2026): a free trial, then a paid licence for a fixed period that does not renew by itself — current prices are on the pricing page.
  • Best for: developers deploying Node, Next.js, static sites or Compose apps to one or a few VPSs who want a graphical app, releases with rollback, and no Docker requirement for Node apps.
  • Limits: no automatic deploy on git push and no preview deployments; no web dashboard or API; closed source; it does not provision new databases, it backs up and restores existing ones; monitoring and alerts run from the desktop app, so the app must be running and the PC awake (servers and monitoring).

How do the six compare side by side?

ToolOn your serverInterfacePreviews and git deploysRollbackPrice, October 2026
CoolifyPanel with PostgreSQL and Redis; Docker, proxy container, Sentinel agent on each serverWeb, REST API, CLIPR previews; Git integration and webhooks"Instant rollbacks"Free self-hosted; Cloud $5/mo for 2 servers
DokployPanel with PostgreSQL 16; Docker Swarm and Traefik on each serverWeb, API, CLIPreview deployments; webhook and git deploysSwarm auto-rollback; manual with a registryFree self-hosted; Cloud from $4.50/server/mo
CapRoverPanel on port 3000; Docker, nginx, SwarmWeb, CLINot documented; deploys from git or webhookNot documentedFree; paid Pro plan
Dokkudokku package, Docker, nginxgit push, server CLI; web UI in ProNot documented; git push deploysNot documentedFree; Pro $849 one-time
KamalDocker and kamal-proxy; images via a registryCLINot documentedkamal rollback <version>Free, no paid tier
ShipownNothing of its own; PM2, Nginx, Certbot or Docker as neededDesktop app (Windows and Linux)No previews; a person presses deployAutomatic restore; pick an earlier releaseFree trial, then fixed-period licence

Two more differences that matter when you pick:

ToolStated minimum serverLicenceAI
Coolify2 cores, 2 GB RAM, 10 GB disk (panel host)Apache-2.0MCP server
Dokploy2 GB RAM, 30 GB disk (panel host)Apache-2.0, except /proprietaryAI Generate for Compose files; MCP mentioned
CapRover"512MB RAM might not be enough"Apache 2.0None mentioned
Dokku1 GB RAMMITNone mentioned
KamalNot documentedMITNot documented
ShipownNot statedProprietary, closed sourceAI terminal with your own key

How do you choose a self-hosted Vercel alternative?

Start from how you want to work, then check the server requirements.

If you needLook at
A web dashboard several people can log intoCoolify, Dokploy, CapRover, or Dokku Pro
Preview deploymentsCoolify or Dokploy
Deploys driven from gitDokku (git push), or the Git and webhook deploys of Coolify, Dokploy and CapRover
Teams with roles and SSOCoolify; Dokploy has roles, with custom roles and SSO outside its free edition
A multi-node clusterDokploy or CapRover on Swarm, Dokku through K3s
Container deploys with no web panelKamal or Dokku; Shipown also deploys Dockerfile and Compose apps
Node apps without Docker, from a desktop appShipown
Open-source licensingCoolify, Dokploy, CapRover, Dokku or Kamal
AI help with the serverShipown's AI terminal; Coolify's MCP server for Claude or Cursor
No server to manage at allStay on Vercel

A few rules of thumb follow from the facts above.

If your team expects a Vercel-like dashboard with preview deployments, start with Coolify or Dokploy. They are the only two here that list preview deployments, and both give you a web interface, an API and a CLI. The cost is a panel to run and keep updated, and Docker on every server.

If you would rather not run a panel, the choice is between Dokku, Kamal and Shipown. Dokku keeps everything on the server and works through git push. Kamal keeps everything on your machine as a CLI and puts Docker and its proxy on the server. Shipown keeps everything in a desktop app and does not need Docker for Node apps or static sites.

If the server is small, check the stated minimums. Coolify's panel host needs 2 cores and 2 GB of RAM, Dokploy's needs 2 GB of RAM and 30 GB of disk, Dokku needs 1 GB of RAM, and CapRover warns that 512 MB might not be enough. On a small server, building on another machine also helps: Kamal can build remotely, and Shipown can build on your PC and upload a checksum-verified result.

If you want open-source software, Shipown is out: it is closed source. The other five are published under Apache 2.0 or MIT, with Dokploy keeping one directory proprietary.

What stays your job with any of them?

Every tool in this list deploys to a server you rent, and none of them removes these tasks:

  • Patching. On Ubuntu and Debian, the unattended-upgrades package applies security updates automatically; sudo dpkg-reconfigure -plow unattended-upgrades switches it on. Kernel updates still need a reboot you schedule.
  • Backups that survive the server. A backup on the same disk as the database is gone if the server is. Copy backups to another machine or to object storage, and use your provider's snapshots as well.
  • Uptime. One VPS is one point of failure. An external uptime monitor tells you when it is down even if your own computer is off.
  • Security. A firewall that allows only SSH, HTTP and HTTPS, key-only SSH logins, and something like fail2ban against password guessing.
  • Capacity. A VPS has a fixed size. A traffic spike slows it down instead of raising a bill, and growing means resizing or adding servers.

What should you do after the first deploy?

Whichever tool you choose, do these three things in the first week, while nothing depends on them yet.

  1. Roll back once on purpose. Deploy a harmless change, return to the previous version, and time it. The rollback guide explains what a release-based rollback looks like on a VPS.
  2. Restore a backup once. A backup you have never restored is a hope, not a backup.
  3. Write down how a deploy happens: who presses what, which branch, which environment variables. With a panel, that is in the panel; with a CLI or a desktop app, write it into the repository's README.

For the hands-on side, the Next.js VPS guide covers PM2, Nginx and Certbot step by step, and the Docker Compose guide covers container stacks. Both are useful whichever tool you end up using, because every tool in this list is automating some version of those steps.

Frequently asked questions

What is the best self-hosted alternative to Vercel?

It depends on how you want to work. Coolify and Dokploy are closest to the Vercel workflow, with web dashboards and preview deployments; Dokku gives you git push deploys; Kamal is a CLI for container deploys; Shipown is a desktop app that deploys over SSH without requiring Docker for Node apps.

Is there a free open-source alternative to Vercel?

Yes. Coolify, Dokploy and CapRover are free to self-host under Apache 2.0, with Dokploy keeping one directory proprietary, and Dokku and Kamal are MIT-licensed, as of October 2026. You still pay your VPS provider for the server they run on.

Which Vercel alternatives have preview deployments?

Of the six tools in this guide, Coolify and Dokploy list preview deployments. CapRover, Dokku and Kamal do not document them, and Shipown does not have them.

Do I need Docker to self-host a Next.js app?

Not necessarily. Coolify, Dokploy, CapRover, Dokku and Kamal all run apps in containers, so they need Docker on the server. A Next.js app can also run as a Node process under PM2 behind Nginx, which is how Shipown deploys Node apps when you do not use a Dockerfile.

How much RAM does a self-hosted PaaS need?

As of October 2026, Coolify's panel host needs at least 2 CPU cores, 2 GB of RAM and 10 GB of disk, Dokploy's panel host needs 2 GB of RAM and 30 GB of disk, and Dokku needs 1 GB of RAM. CapRover's docs warn that 512 MB of RAM might not be enough.

Is self-hosting cheaper than Vercel?

Often, but not always. A VPS costs a flat monthly price that varies by provider and size, while Vercel Pro is $20 per developer seat per month plus usage beyond what is included, as of October 2026. Self-hosting also costs your time for patching, backups and uptime.