Frameworks · · 8 min read

Where to host an Angular SSR app in Europe in 2026

Five European hosts for an app built with @angular/ssr, compared on how the Node.js server starts, what it costs and what you configure yourself.

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

PlatformHow the SSR server runsBased inEntry priceMain gap
EurobaseNode.js container built with buildpacksWarsaw, PolandFree plan, then €10 a month + VATNo managed database, no Dockerfile builds
Clever CloudNode.js runtime, deployed with a Git pushFranceFree credits, then priced by instanceNo fixed monthly price
ScalingoNode.js app started from a Procfile or start scriptStrasbourg, France€7.20 a month for 256 MB, excl. VATAngular guide covers static output only
SliplaneContainer built from GitHub, a Dockerfile or an imageBerlin, Germany€9 per server, excl. VATNo Angular guide
Coolify on HetznerNixpacks, Railpack or Dockerfile build on your serverOpen source, on a German hostFree software, servers from €5.49 a month excl. VAT, if available to orderYou 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 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.

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.

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.

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

Deploy your app in Europe

Sign up