# Where to host an Angular SSR app in Europe in 2026

Last updated: 2026-11-10

A server-rendered Angular app is, once built, a plain Node.js process, so you need a European host that can keep that process running. **Eurobase** builds the repository into a container and charges a flat €10 or €20 a month. **Clever Cloud** and **Scalingo** fit when the app also needs a managed database in the same account, and **Sliplane** or **Coolify on Hetzner** fit when you'd rather rent a server than pay for a platform.

## Angular SSR hosts side by side

| Platform | How the SSR server runs | Based in | Entry price | Main gap |
|---|---|---|---|---|
| Eurobase | Node.js container built with buildpacks | Warsaw, Poland | Free plan, then €10 a month + VAT | No managed database, no Dockerfile builds |
| Clever Cloud | Node.js runtime, deployed with a Git push | France | Free credits, then priced by instance | No fixed monthly price |
| Scalingo | Node.js app started from a Procfile or `start` script | Strasbourg, France | €7.20 a month for 256 MB, excl. VAT | Angular guide covers static output only |
| Sliplane | Container built from GitHub, a Dockerfile or an image | Berlin, Germany | €9 per server, excl. VAT | No Angular guide |
| Coolify on Hetzner | Nixpacks, Railpack or Dockerfile build on your server | Open source, on a German host | Free software, servers from €5.49 a month excl. VAT, if available to order | You run the server |

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

## What the Angular build produces

You get server rendering from `ng new --ssr`, or by running `ng add @angular/ssr` in an existing project. Out of the box, Angular prerenders the whole app and also writes a server file. `ng build` writes to `dist/my-app/`, and the output mode decides what you ship:

- **`outputMode: "server"`** gives you `dist/my-app/browser/` and `dist/my-app/server/`. Both folders go to the host, and `node dist/my-app/server/server.mjs` starts the app.
- **`outputMode: "static"`** turns each route into HTML at build time and writes no server, so the `browser` folder is all you deploy.
- **Server routes** in `app.routes.server.ts` set `RenderMode.Server`, `RenderMode.Prerender` or `RenderMode.Client` route by route.

Angular 22 is in active support, 20 and 21 get only critical and security fixes, and versions 2 to 19 are out of support.

## What to check before you deploy

- **Allowed hosts.** Angular answers 400 Bad Request to a hostname it doesn't recognise. Add your platform address and custom domain to `security.allowedHosts` in `angular.json`, or set `NG_ALLOWED_HOSTS` for the Node.js engine. Angular's security guide calls `*` a security risk.
- **Forwarded headers.** By default Angular strips `Forwarded` and every `X-Forwarded-*` header. A platform proxy normally sits in front of your server, so list the headers you trust in `trustProxyHeaders` if the app needs the original host or protocol.
- **The port.** Eurobase, Clever Cloud and Scalingo hand your process its port in the `PORT` variable. Make sure `server.ts` listens on it.
- **Who owns the platform.** An EU region of a US cloud and a company based in the EU aren't the same answer. [EU region vs EU company](/i/eu-region-vs-eu-company-cloud-act) explains the difference.
- **What happens at a limit.** A flat plan turns extra work away, while usage pricing keeps serving and adds it to the invoice.

## 1. Eurobase

Eurobase doesn't run Angular on V8 isolates, so an SSR app is deployed as a container. The build uses the upstream Paketo buildpacks with Node.js 20, 22 or 24 and npm or Yarn 1, runs your `build` script, and serves the result on European infrastructure run by Scaleway, a French provider. When the `start` script launches a development server, Eurobase flags it, so set the start command to `node dist/my-app/server/server.mjs` or add a `web:` line to a `Procfile`. Deploys come from GitHub, GitLab, Codeberg, Forgejo or Gitea, or from a coding agent through the MCP server and CLI.

- **Best for:** Angular SSR apps that must stay on European infrastructure, with a bill that stays the same as traffic grows.
- **Price:** Free, Starter at €10 and Pro at €20 a month + VAT, per workspace. There are no usage charges today: work over a limit is refused, apps on V8 isolates and Functions stop until the monthly reset, and containers and static sites keep serving.
- **Company:** registered in Warsaw, Poland.
- **What it lacks:** an Angular guide, managed Postgres, MySQL or Redis, Dockerfile builds and preview deployments. An idle app is stopped, and the next visitor waits while Node.js boots. ISO 27001 and SOC 2 are in progress, not yet held.

The build and start rules are in [Containers and static sites](/docs/containers).

## 2. Clever Cloud

Clever Cloud deploys Node.js from a Git push. It expects a `package.json` with a `scripts.start` or `main` field and a server listening on `0.0.0.0` at `PORT`. To start the Angular server instead of the default, put `node dist/my-app/server/server.mjs` in `CC_RUN_COMMAND`. The company runs the hardware itself, in its own French datacenters.

- **Best for:** an Angular app that needs a managed database and a certified provider under one contract.
- **Price:** per-second billing by instance size and count. New accounts get free credits without a card.
- **What it lacks:** a set monthly figure, since the bill follows instance time, and an Angular entry among its framework guides.

## 3. Scalingo

Scalingo, based in Strasbourg, starts a Node.js app from a `Procfile` if there is one, then from the `start` script in `package.json`. Point either at the server file. Its own Angular page takes another route: Node.js builds static files and an Nginx buildpack serves them, which matches `outputMode: "static"`, not server rendering.

- **Best for:** teams that like the Heroku workflow, or apps that need a SecNumCloud region.
- **Price:** €7.20 a month excl. VAT for a 256 MB container, €8.64 in the SecNumCloud region, after a 30-day free trial. Postgres starts at €7.20 a month excl. VAT for 512 MB and 10 GB.
- **What it lacks:** documented SSR setup for Angular.

## 4. Sliplane

Sliplane is a Berlin company that runs containers on servers you rent from it. It can detect the framework in a GitHub repository, build from a Dockerfile or pull a ready image, so a two-stage Dockerfile ending in `node dist/my-app/server/server.mjs` gives you full control.

- **Best for:** the Angular app, its API and its database sharing one server and one bill.
- **Price:** €9 excl. VAT for the Starter server with 1 vCPU, 1 GB of memory and 20 GB of storage. Managed Postgres starts at €19 excl. VAT.
- **What it lacks:** an Angular guide. It also runs locations outside Europe, so choose the server's location with care.

## 5. Coolify on Hetzner

Coolify is open-source deploy software you install on your own machine. It builds Git repositories with Nixpacks, Railpack or your Dockerfile, or runs an existing image. Hetzner, a German host, prices its smallest cloud server at €5.49 a month excl. VAT, a CPX02 in Helsinki, and €6.49 in Falkenstein or Nuremberg. On 10 November 2026 those entry servers were listed as unavailable to order.

- **Best for:** people comfortable running Linux who want to pay mostly for hardware.
- **Price:** free if you host Coolify yourself, or $5 a month for Coolify Cloud, which connects 2 servers. The servers cost extra.
- **What it lacks:** anyone looking after the machine but you. Updates, backups and alerts are yours to set up.

## How to choose

- **Eurobase** if you want one flat euro price, deploys from Git or a coding agent, and a database you host elsewhere.
- **Clever Cloud** or **Scalingo** if Postgres should come from the same provider, or a buyer asks for ISO 27001 now.
- **Sliplane** if you write Dockerfiles anyway and want several services on one machine.
- **Coolify on Hetzner** if saving the platform fee is worth your own hours.
- If every route can be prerendered, you may not need a server at all: see [static site hosting in Europe](/i/static-site-hosting-europe).

## Frequently asked questions

### How do I start an Angular SSR app in production?

Run `node dist/my-app/server/server.mjs`, using your project's name for `my-app`. Deploy the `browser` folder next to the `server` folder, since the server serves files from it. `ng serve` is a development server and doesn't belong in production.

### Why does my Angular SSR app return 400 on a custom domain?

Most often it's host validation. Angular refuses hostnames it wasn't told about, so add the domain to `allowedHosts` or `NG_ALLOWED_HOSTS` and deploy again. If links or redirects use the wrong host or protocol, set `trustProxyHeaders` too.

### Can I host Angular in Europe without a Node.js server?

Yes. Build with `outputMode: "static"` or as a client-only app and put `dist/my-app/browser/` on a static host. Angular's deployment guide asks prerendered apps to fall back to `index.csr.html` for unknown paths. Eurobase's static site option falls back to `index.html` instead, so try a few deep links before launch.

### Is Firebase App Hosting a European option for Angular?

Firebase App Hosting supports Angular, but Firebase is a Google product, and Google is a US company. When a contract calls for a European provider, compare [Firebase alternatives in Europe](/i/european-firebase-alternatives).

### Can I host Angular SSR in the EU for free?

Three ways to start at no cost: the Eurobase Free plan with hard limits, Clever Cloud's sign-up credits, or a 30-day Scalingo trial. Self-hosted Coolify costs nothing, though the machine under it doesn't.

## Sources

- [Angular server and hybrid rendering](https://angular.dev/guide/ssr), [Angular deployment](https://angular.dev/tools/cli/deployment), [Angular security](https://angular.dev/best-practices/security) and [Angular releases](https://angular.dev/reference/releases)
- [Eurobase containers and static sites](/docs/containers), [Workers runtime](/docs/workers), [pricing](/pricing) and [subprocessors](/legal/subprocessors)
- [Clever Cloud Node.js docs](https://www.clever.cloud/developers/doc/deploy/applications/nodejs/) and [Clever Cloud pricing](https://www.clever.cloud/pricing/)
- [Scalingo Angular docs](https://doc.scalingo.com/languages/nodejs/angular), [Scalingo Node.js docs](https://doc.scalingo.com/languages/nodejs/start), [Scalingo pricing](https://scalingo.com/pricing) and [Scalingo legal notice](https://scalingo.com/legal-notice)
- [Sliplane](https://sliplane.io/) and [Sliplane prices](https://sliplane.io/pricing)
- [Coolify build methods](https://coolify.io/docs/applications/builds/overview), [Coolify pricing](https://coolify.io/pricing/) and [Hetzner Cloud](https://www.hetzner.com/cloud/)
- [Firebase App Hosting frameworks](https://firebase.google.com/docs/app-hosting/frameworks-tooling)
