1. EasyHost
  2. Migrate
  3. Heroku
  4. Astro

Migrate Astro from Heroku to EasyHost

Move your Astro app in four steps, and keep Heroku running until the new deployment works.

Last updated November 9, 2026

Export your variables

heroku config -s > .env

Then import them into EasyHost.

npx ezhst env import .env

Change the Astro setup

Replace @astrojs/vercel, @astrojs/netlify or @astrojs/cloudflare with @astrojs/node in standalone mode.

Procfile is not read by EasyHost, so its build and routing rules need moving into your app or into build settings.

Install @astrojs/node in standalone mode and use on-demand rendering where you need a server.

Deploy and test

npx ezhst projects create my-project --link
npx ezhst apps create my-app
npx ezhst link --project <project-slug> --app <app-slug>
npx astro add node
npx ezhst build set --start "node ./dist/server/entry.mjs"
npx ezhst env import .env
npx ezhst deploy

Test your easyhost.fun URL before changing DNS. Heroku runs your app on dynos, so check anything that depends on it, such as platform functions or cron configuration. Schedules move to EasyHost schedules.

Switch your domain

npx ezhst domains add www.example.com
npx ezhst domains list
npx ezhst domains verify www.example.com

Follow the custom domain guides for your DNS provider. Keep Heroku running until traffic has moved. Also read why Astro may be unreachable and the Heroku overview.

Start for free

Install the skill, choose Global or Local, then tell your agent to deploy. No credit card, no config files.

npx ezhst skill install