Hosting / Astro
Astro hosting in Europe
Deploy an Astro site with server endpoints to European infrastructure from your Git repository. Eurobase (eurobase.dev) adds the adapter during the build and runs it on V8 isolates, with pages and endpoints at one address.
At a glance
| Runs as | V8 isolates |
|---|---|
| Versions | astro 5.7.0 or later |
| Build | @astrojs/cloudflare, added during the build |
| Deploys from | GitHub, GitLab.com, self-managed GitLab, Codeberg, Forgejo and Gitea |
| Where it runs | European infrastructure only |
Deploy Astro in Europe
- Push your app to a Git repository, or copy the Astro template.
- Create an account, then create a project from the repository. GitHub connects with the Eurobase app, and other Git hosts with a read-only token and a webhook.
- Eurobase detects Astro. There's no build or start command to set.
- Select Save and Deploy. Your app goes live at
<name>.eurobase.dev. - Connect your own domain from Domains.
A coding agent can do this for you from a GitHub repository: deploy with Claude Code, Codex or Cursor.
Read the Astro guideWhat works
- Prerendered pages, server-rendered pages and endpoints.
<Image>optimizes images on prerendered pages at build.- Each deployment renders up to 16 pages first. If one fails, the deployment stops and the previous one keeps serving.
- Response caching when your app sends cache headers, with purge by tag or path. See Cache.
- Deploys on every push, rollback from Deployment history, secrets and request logs.
What doesn't work
- Images on server-rendered pages are served at their original size.
- Leave
imageServiceunset:cloudflare-bindingandcloudflarearen't supported. - Astro sessions don't work.
- Astro 5 is past its end of life, so its deployments carry a warning.
Limits for all apps on V8 isolates:
- Postgres and MySQL drivers that connect over TCP won't work. Use your database's HTTP API.
- Each request gets 30 s of CPU on paid plans, or 50 ms on the Free plan with a 2 s reserve that refills. See Runtime limits.
- An instance has 128 MiB of JavaScript heap, and the bundle can be up to 10 MiB compressed.
eval()andnew Function()don't work during a request.- Commit exactly one lockfile, or the deployment stops.
- On
<name>.eurobase.dev, cookies written by browser code reach your server only with a__Host-js-name. See Cookies in your app.
Not available on Eurobase:
- Preview deployments for branches and pull requests.
- Managed Postgres, MySQL or Redis.
- Dockerfile builds.
- Key-value stores and queues for apps on V8 isolates.
Pricing
| Limit | Free | Starter | Pro |
|---|---|---|---|
| Price | €0 / month | €10 / month + VAT | €20 / month + VAT |
| Projects | 2 | 10 | 20 |
| Deployments per day | 20 | 100 | 500 |
| Workers CPU per month | 50 min | 500 min | 1,666⅔ min |
A flat monthly price per workspace, with no charges for usage. Once Workers CPU runs out, apps on V8 isolates stop until the monthly reset. See every limit.
Move an existing Astro app
Other frameworks
Deploy Astro on the Free plan
Create account