Move from AWS Amplify Hosting to Eurobase

This guide moves a frontend from AWS Amplify Hosting to Eurobase: build settings, environment variables, redirects and headers, and the domain. Next.js and other supported frameworks run on V8 isolates.

What moves where

On Amplify HostingOn Eurobase
App connected to a Git branchProject from the same GitHub repository and branch
amplify.yml build settingsDetected from your framework
Environment variablesSecrets, available when your code runs
Redirects and rewrites_redirects files in your static output
Custom headers_headers files in your static output
Amplify backend (auth, data, storage)Keep it in AWS, or move it to an EU provider
Pull request previews and branch environmentsNot available yet: one branch per project

Step 1: Export your environment variables

With the AWS CLI, for the whole app and for the branch you deploy:

aws amplify get-app --app-id <app-id> --query app.environmentVariables
aws amplify get-branch --app-id <app-id> --branch-name main --query branch.environmentVariables

Branch values override app values. Amplify secrets aren't in this output: take them from where you keep them.

Step 2: Check your build

Eurobase doesn't read amplify.yml. It detects Next.js, Astro, SvelteKit, Nuxt, React Router, TanStack Start and Vite, installs exactly what your lockfile lists and runs the framework's build. Commit exactly one lockfile. In a monorepo, choose the app's folder as the root directory.

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: Add your secrets

In the Eurobase project, open Secrets, add each value and choose the resources that receive it. Every value is stored encrypted. Secrets reach your code when it runs, not during the build, so values your build needs must come from your repository.

Step 5: Rewrite redirects and headers

To export your redirect rules:

aws amplify get-app --app-id <app-id> --query app.customRules

Write each rule as a line of _redirects, and the headers from customHttp.yml or the console as _headers. A Vite app already sends unknown paths to /index.html, so you don't need the single-page-app rewrite.

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 6: Check your backend connections

Your app on V8 isolates calls other services with fetch() over HTTPS, so AWS APIs keep working with credentials stored as secrets. Databases reached through a TCP driver for Postgres or MySQL can't connect from a Worker: use the provider's HTTP API, or run the app as a container.

Step 7: 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

  • Pull request previews and one environment per branch.
  • Amplify backend resources: they stay in your AWS account until you move them.
  • Password protection of branches, and conditional redirects by country.

After the move