# Where to host a React Router or Remix app in Europe in 2026

Last updated: 2026-11-10

For a React Router app in framework mode, **Eurobase** detects the framework, adds the Cloudflare Vite plugin during the build and runs loaders and actions on V8 isolates in Europe, with paid plans at €10 and €20 a month. If your loaders open Postgres connections over TCP, **Clever Cloud** or **Scalingo** will run the default `react-router-serve` server as a Node.js app. If you'd rather ship the Dockerfile that comes with the official template, look at **Sliplane** or **Coolify on Hetzner**.

Still on Remix? The Remix team now recommends starting new projects with React Router v7 and upgrading existing Remix apps, so the hosting choices below apply to both.

## React Router hosts in Europe at a glance

| Platform | How the app runs | Company | Starts at | Watch out for |
|---|---|---|---|---|
| Eurobase | Detected, on V8 isolates | Warsaw, Poland | Free, then €10 a month + VAT | No TCP database drivers in loaders |
| Clever Cloud | Node.js app started by `scripts.start` | Nantes, France | Free credits, then billed by the second | No flat monthly price |
| Scalingo | Node.js buildpack, `build` then `start` | Strasbourg, France | €7.20 a month for 256 MB, excl. VAT | No React Router page in its docs |
| Sliplane | Container from a repository or an image | Berlin, Germany | €9 per server, excl. VAT | You size the server |
| Coolify on Hetzner | Docker container on your server | Coolify is open source; Hetzner is German | Free software, servers from €5.49 a month excl. VAT when in stock | You maintain the server |
| Vercel | Zero-config, with an optional preset | US company | Hobby $0, Pro $20 per seat a month | Functions default to Washington, D.C. |
| Netlify | Vite plugin, serverless or edge functions | US company | Free $0, Pro $20 a month | EU function regions need Pro or Enterprise |

Prices are from each provider's own page, checked on 9 and 10 November 2026.

## How React Router deploys

The React Router docs describe two ways to ship an app: fullstack hosting, where loaders and actions run on a server, and static hosting, where the build is a single-page app like any other React project. A purely static build runs on any static host, so the rest of this page is about the fullstack case.

The current docs cover React Router 8, and the default template installs the latest release. It builds with `react-router build` and starts with `react-router-serve ./build/server/index.js`. That server is a small Express app that reads the `PORT` and `HOST` environment variables, which is what most Node.js platforms expect. The template also ships a multi-stage Dockerfile on Node.js 24. Vercel, Cloudflare and Netlify each maintain their own adapter or template instead.

## What to check before you pick a host

- **Where loaders get their data.** On a Node.js host, Drizzle or Prisma connect over TCP as usual. On an isolate runtime, you call the database's HTTP API or use SQLite.
- **The start command and port.** Node.js platforms usually run your `start` script and pass `PORT`. Make sure the server listens on `0.0.0.0` where the host asks for it.
- **Previews for pull requests.** Scalingo's Review Apps, Vercel and Netlify give each change its own URL. Eurobase doesn't have preview deployments.
- **Who the provider is.** A Frankfurt region from a US company is still a US contract. [EU region vs EU company](/i/eu-region-vs-eu-company-cloud-act) explains the difference.
- **What happens at a limit.** On a flat plan, extra work gets refused. On a usage plan, the app keeps serving and the extra shows up on the invoice.

## 1. Eurobase

Eurobase detects `react-router` 7.0.0 or later with Vite 6.1.0 or later and adds `@cloudflare/vite-plugin` to the build's own copy of your code, so your repository stays as it is and there's no build or start command to fill in. Server rendering, loaders and actions run on V8 isolates, and static assets are served from the same address. Before a deployment goes live, it renders up to 16 pages, and a failure keeps the previous deployment serving. Repositories can come from GitHub, GitLab, Codeberg, Forgejo or Gitea, and a coding agent can ship the app with the Eurobase CLI or MCP server.

- **Best for:** server-rendered React Router apps that read data over HTTP and should stay on European infrastructure at a known monthly price.
- **Price:** Free to start; Starter is €10 and Pro €20 a month + VAT, priced per workspace rather than per app. Nothing is billed by usage today: a request past a plan limit is refused, React Router apps and Functions stay stopped until the monthly reset, and containers and static sites go on serving.
- **Company:** a Polish business in Warsaw. Your app is hosted on European infrastructure run by Scaleway, a French provider.
- **What it lacks:** Postgres and MySQL drivers over TCP, so loaders reach the database over HTTP, for example through Supabase, or use the D1-compatible SQLite database. There's no React Router starter template, no preview deployments, no managed Postgres and no image resizing. ISO 27001 and SOC 2 certification are both in progress, not yet granted.

See [React Router hosting on Eurobase](/hosting/react-router) and the [Workers runtime limits](/docs/workers).

## 2. Clever Cloud

Clever Cloud runs React Router as an ordinary Node.js app. Its docs ask for a `package.json` with a `scripts.start` field, a server listening on `0.0.0.0` on the port in `PORT`, and `NODE_ENV=production`. The template's start script fits, and you can set `HOST=0.0.0.0` to make the bind address explicit. Scripts such as `postinstall` run during the build phase, which is one place to call `react-router build`. Clever Cloud doesn't install devDependencies by default, and the template keeps `@react-router/dev` and Vite there, so set `CC_NODE_DEV_DEPENDENCIES=install` or the build can't run.

- **Best for:** apps that need a managed database from the same European provider.
- **Price:** set by the size and number of instances you run, with resources billed per second. A new account starts on free credits, and no card is needed to try it.
- **What it lacks:** a React Router guide and a fixed monthly price.

## 3. Scalingo

Scalingo's Node.js buildpack runs the `build` script from `package.json` during deployment, then starts the app from a `Procfile` or, if there isn't one, the `start` script. The React Router template has both scripts, so it can deploy without changes. devDependencies are installed for the build and pruned afterwards, so `react-router build` finds its tools.

- **Best for:** teams used to the Heroku workflow, or apps that need its SecNumCloud region.
- **Price:** after a 30-day free trial, the 256 MB container size is €7.20 a month excl. VAT, or €8.64 excl. VAT in the SecNumCloud region. A starter Postgres database with 512 MB and 10 GB is the same €7.20 a month excl. VAT.
- **What it lacks:** a page on React Router or Remix, so you rely on the generic Node.js guide.

## 4. Sliplane

Sliplane, a German company headquartered in Berlin, deploys from GitHub or a container image. Framework detection is automatic, and it can build from a Dockerfile instead, which means the Dockerfile in the official React Router template is a ready starting point. Its site has a Remix hosting page and a tutorial on putting a Remix app in a container.

- **Best for:** a React Router app that shares one fixed-price server with a database and a worker.
- **Price:** the smallest server, 1 vCPU with 1 GB of memory, is €9 excl. VAT, and every service on it shares that price. Managed Postgres starts at €19 excl. VAT.
- **What it lacks:** a free tier for managed Postgres. Sliplane also offers US and Singapore regions, so confirm a European one at setup.

## 5. Coolify on Hetzner

Coolify is open-source software that runs applications as Docker containers on a server you connect. It builds from a Git repository, a Dockerfile or an existing image, so the template's Dockerfile works here too. Hetzner is a German company whose European cloud locations are in Germany and Finland.

- **Best for:** teams that are happy to run their own server in exchange for a smaller bill.
- **Price:** Coolify costs nothing when you host it yourself, and Coolify Cloud starts at $5 a month for two connected servers. The cheapest Hetzner cloud server on its price list is a CPX02 in Helsinki at €5.49 a month excl. VAT, against €6.49 in Falkenstein or Nuremberg, yet on 10 November 2026 its cheapest plans were marked as not available to order.
- **What it lacks:** a provider that patches the server, runs backups and responds when it goes down. That work is yours.

## 6. Vercel or Netlify with an EU region

Both appear in the React Router deployment docs with their own templates. Vercel deploys React Router with zero configuration and recommends adding its `@vercel/react-router` preset. Netlify uses `@netlify/vite-plugin-react-router` for React Router 7 and later, which deploys to serverless functions by default, with edge functions as an option. Vercel functions run in Washington, D.C. unless you choose a European region, and Netlify's EU function regions are self-serve only on Pro and Enterprise.

- **Best for:** teams that need preview deployments and are fine with a US provider.
- **What it lacks:** a European company. Vercel Inc. has terms under California law, and Netlify, Inc. is based in San Francisco.

## How to choose

- Choose **Eurobase** if loaders call HTTP APIs or SQLite and you want to push the repository without writing a Dockerfile.
- Choose **Clever Cloud** or **Scalingo** if loaders use a Postgres driver over TCP or you want the database from the same provider.
- Choose **Sliplane** if you already deploy the template's Dockerfile and want one server price for several services.
- Choose **Coolify on Hetzner** if you'll spend your own time on the server to keep the bill small.

Moving off a US host? Start with [Migrate from Vercel](/docs/guides/migrate-from-vercel) or [Migrate from Netlify](/docs/guides/migrate-from-netlify), and compare Next.js options in [Next.js hosting in Europe](/i/nextjs-hosting-europe).

## Frequently asked questions

### Do I need to migrate from Remix to React Router to change hosts?

No. A Remix v2 app on Node.js still runs on any Node.js host. The Remix team recommends upgrading existing apps to React Router v7, though, and hosts that detect the framework, such as Eurobase, look for `react-router` 7.0.0 or later.

### Can I use react-router-serve in production?

Yes. The React Router docs call it a production-ready but basic Express server. If you need custom middleware, they point you to the `@react-router/express` adapter instead.

### Can React Router loaders connect to Postgres on a European host?

On Clever Cloud, Scalingo, Sliplane or Coolify, yes, because they run a normal Node.js process. On Eurobase, TCP drivers don't connect, so use an HTTP API or SQLite, as described in [serverless SQLite in Europe](/i/serverless-sqlite-europe).

### Is there a free way to host a React Router app in the EU?

Eurobase has a Free plan with hard limits. Clever Cloud starts you with free credits and Scalingo with a 30-day trial. Coolify costs nothing as software, but the server doesn't.

### Can I host a React Router single-page app as a static site?

Yes. In SPA mode the build is plain files, so any static host works. See [static site hosting in Europe](/i/static-site-hosting-europe) for options.

## Sources

- [React Router deploying](https://reactrouter.com/start/framework/deploying), [React Router App Server](https://reactrouter.com/api/other-api/serve) and the [default template](https://github.com/remix-run/react-router-templates/tree/main/default)
- [Merging Remix and React Router](https://remix.run/blog/merging-remix-and-react-router)
- [Eurobase React Router hosting](/hosting/react-router), [Workers runtime](/docs/workers), [Supabase on Eurobase](/docs/supabase), [pricing](/pricing) and [subprocessors](/legal/subprocessors)
- [Clever Cloud pricing](https://www.clever.cloud/pricing/) and its [Node.js and Bun guide](https://www.clever.cloud/developers/doc/deploy/applications/nodejs/)
- [Scalingo Node.js docs](https://doc.scalingo.com/languages/nodejs/start) and [Scalingo pricing](https://scalingo.com/pricing)
- [Sliplane pricing](https://sliplane.io/pricing) and [Sliplane Remix hosting](https://sliplane.io/remix-hosting-europe)
- [Coolify applications](https://coolify.io/docs/applications/), [Coolify pricing](https://coolify.io/pricing/) and [Hetzner Cloud](https://www.hetzner.com/cloud/)
- [React Router on Vercel](https://vercel.com/docs/frameworks/full-stack/react-router), [Vercel function regions](https://vercel.com/docs/functions/configuring-functions/region) and [Vercel pricing](https://vercel.com/pricing)
- [React Router on Netlify](https://docs.netlify.com/build/frameworks/framework-setup-guides/react-router/) and [Netlify pricing](https://www.netlify.com/pricing/)
