Move from Firebase Hosting to Eurobase

This guide moves a site from Firebase Hosting to Eurobase: the public folder or the build, the rules in firebase.json, functions and the domain. Firebase services your app calls from the browser can stay where they are.

What moves where

On Firebase HostingOn Eurobase
public folder of plain HTMLPublished as-is, with that folder as the root directory
A single-page app built before firebase deployBuilt by Eurobase from your repository
redirects and headers in firebase.json_redirects and _headers files in your static output
Rewrite of every path to /index.htmlBuilt in for Vite apps
Rewrites to Cloud Functions or Cloud RunEurobase Functions (TypeScript) or a server route of your app
Preview channelsNot available yet: one branch per project

Step 1: Choose what Eurobase deploys

  • Plain HTML: choose the folder you deploy, usually public, as the root directory. It needs an index.html; files that aren't web files are left out.
  • A build: choose the folder with your package.json. Eurobase builds Vite, React Router, Next.js, Astro, SvelteKit, Nuxt and TanStack Start apps and runs them on V8 isolates. Commit exactly one lockfile.

Step 2: Rewrite your firebase.json rules

Eurobase doesn't read firebase.json. A Vite app already sends unknown paths to index.html. Write other redirects and headers as files in your build output; in a Vite app, put them in its public folder. A redirect in _redirects:

/old-page /new-page 301

A header rule in _headers:

/assets/*
  Cache-Control: public, max-age=31536000, immutable

Apps on V8 isolates read _redirects and _headers from their static output, up to 2,000 static and 100 dynamic redirects and 100 header rules. A rewrite (status 200) must point to a path on your own site, and a rule Eurobase can't read stops the build with the reason. A plain HTML site published without a build ignores these files.

Step 3: Create the project

  1. Create an account, connect GitHub and install the Eurobase GitHub App on the repository.
  2. In Projects, select New project, choose the repository and its root directory, and check what Eurobase detected.
  3. Select Save and Deploy.

Step 4: Move rewrites to functions

Paths that firebase.json sends to Cloud Functions or Cloud Run don't reach them from Eurobase. Rewrite each one as a Eurobase Function in TypeScript or a server route of your framework, or call the existing function by its own URL. Values your code needs at run time go in the project's Secrets.

Step 5: Keep Firebase services working

Firebase Authentication, Firestore and other services your app calls from the browser keep working from the new address. If you use Firebase Authentication, add <name>.eurobase.dev and your domain to its authorized domains in the Firebase console.

Step 6: Move your domain

  1. Before the move, lower the TTL of your domain's DNS records so the switch spreads quickly.
  2. In Eurobase, open Domains in the sidebar, select Connect domain, enter your domain and choose the project. Only the workspace owner can connect domains.
  3. Add the DNS records Eurobase shows at your DNS provider, then wait until Eurobase marks the domain ready.
  4. Once your domain serves the Eurobase app, remove it from the old platform.

What doesn’t carry over

  • Preview channels and multiple Hosting sites in one project; create one Eurobase project per site.
  • cleanUrls, trailingSlash and i18n settings. On a plain HTML site, /about serves about/index.html, not about.html.
  • A custom 404.html on a plain HTML site: a missing file returns a plain 404.

After the move

  • Every push to the project's branch deploys; roll back from Deployment history.
  • Stuck? Write to support@eurobase.dev.