A Base44 export is a React and Vite frontend that still calls Base44 for data, sign-in and functions. You can host the frontend here today; leaving Base44 completely means replacing its backend.
Last updated
These are the defaults. Override any of them in Settings → Build.
Code export needs the Builder plan or higher. From the dashboard, click the GitHub icon, connect GitHub, authorize Base44 and create a repository. The sync is two-way on main, and only the app owner can connect it.
Or open the editor's More actions menu and export a zip. The zip has the frontend, backend functions and table structure, but not your data, secrets or users.
Base44 apps are React apps built with Vite. We run npm run build, serve dist/, and fall back to index.html so every page route works.
The app finds its Base44 backend through VITE_BASE44_* variables, such as VITE_BASE44_APP_ID (the ID is in your editor URL). Copy them from your local .envinto the project's settings before the first deploy, because Vite bakes them in at build time.
Deploy to your ethiodeploy.com subdomain first and test sign-in and data loading there before moving a custom domain.
To run without Base44, every SDK call needs your own backend. In order of size:
base44.entities): create Postgres tables with a Postgres addon and an API in front of them. Export each table as CSV from Dashboard → Data.base44.auth): switch to an auth library or provider you control. Users have to sign up again or be imported.base44/functions. Port them to routes in your own server.This is a rewrite of the data layer, not a config change. An AI coding tool can do much of it: EthioDeploy's agent mode works on your repo and opens a pull request, or use Claude Code or Cursor.
<project-slug>.ethiodeploy.com. Every push to the default branch redeploys, and the old version keeps serving until the new one is healthy.Blank page or "app not found" errors
Cause: A VITE_BASE44_ value wasn't set when the app was built.
Fix: Add it in Settings, then trigger a new deploy.
Data or sign-in calls fail on your EthioDeploy address
Cause: The SDK is sending requests to your own domain instead of Base44's.
Fix: Check where the SDK client is created and set its server URL to your Base44 backend, then test again on the subdomain.
GitHub sync doesn't push
Cause: The branch isn't main, or you aren't the app owner.
Fix: Base44 only syncs main, and only the owner can connect GitHub.
Still stuck? Check the deployment's build log in the dashboard, or see Troubleshooting.
Can I self-host a Base44 app?
Not as exported. Base44's docs say it doesn't support self-hosting and the exported code still relies on Base44 for data, logins, functions and integrations. You can host the frontend anywhere, but running fully elsewhere means replacing those parts with your own backend.
Which Base44 plan do I need to export code?
Builder or higher, for both zip export and GitHub sync. Data export as CSV is available from the Data tab.
Why host the frontend on EthioDeploy if Base44 hosts it already?
Mostly as a first step out: once the frontend runs here, you can replace the Base44 backend one piece at a time with Postgres, your own auth and your own server routes, deployed from the same repository.
Ready to deploy? Sign in with GitHub and pick your repo. No Dockerfile, no YAML.
See the full docs for custom domains, env vars, addons, and billing.