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 Hosting | On Eurobase |
|---|---|
| App connected to a Git branch | Project from the same GitHub repository and branch |
amplify.yml build settings | Detected from your framework |
| Environment variables | Secrets, 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 environments | Not 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.environmentVariablesBranch 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
- Create an account, connect GitHub and install the Eurobase GitHub App on the repository.
- In Projects, select New project, choose the repository and its root directory, and check what Eurobase detected.
- 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.customRulesWrite 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
- Before the move, lower the TTL of your domain's DNS records so the switch spreads quickly.
- In Eurobase, open Domains in the sidebar, select Connect domain, enter your domain and choose the project. Only the workspace owner can connect domains.
- Add the DNS records Eurobase shows at your DNS provider, then wait until Eurobase marks the domain ready.
- 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
- Every push to the project's branch deploys; roll back from Deployment history.
- Framework details: Next.js, Astro, Nuxt.
- Stuck? Write to support@eurobase.dev.