Connect your Bolt project to GitHub and EthioDeploy builds it on every push. Bolt apps are JavaScript, so they deploy like any Vite or Node app.
Last updated
These are the defaults. Override any of them in Settings → Build.
In Bolt, click the GitHub icon (top right) and create a repository from your project. You start on the main branch, and Bolt commits for you every time a change doesn't break the project. EthioDeploy redeploys on every push.
Prefer not to connect? Click the project title, then Download, and push the unzipped folder to a GitHub repo yourself.
Bolt builds JavaScript apps, with Node.js as the only backend option. How we run it depends on what your project has:
npm run build, serve dist/, and fall back to index.html so client-side routes work. Nothing to change.start script and listen on 0.0.0.0 and PORT. See the Node.js guide.Copy the values from your project's .envfile into the project's settings on EthioDeploy. Values the browser reads (for Vite, anything starting with VITE_) are baked in at build time, so add them before the deploy. See Environment variables.
If your app has sign-in, open its authentication settings in Bolt and set the Site URL to your new address, then add every domain users return to after sign-in to the redirect allow list. Bolt updates these automatically only when it publishes to its own hosting.
Bolt's docs don't cover using Bolt Database from another host. Deploy to your ethiodeploy.com subdomain first and test sign-in and data loading before you move your domain.
<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 in production but fine in Bolt
Cause: A VITE_ value from .env wasn't set when the app was built.
Fix: Add it in Settings, then trigger a new deploy.
Health check times out
Cause: The Node server listens on localhost or a hardcoded port.
Fix: Listen on 0.0.0.0 and read PORT.
Sign-in sends users to localhost or the bolt.host site
Cause: The auth Site URL and redirect list still point at the old address.
Fix: Update both in Bolt's authentication settings.
Your GitHub edits disappeared
Cause: Bolt changed the same files and overwrote the GitHub version.
Fix: Make changes in Bolt or on GitHub, not both at once.
Still stuck? Check the deployment's build log in the dashboard, or see Troubleshooting.
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.