Astro environment variables in production
.env files are never uploaded to EasyHost. Here is how to set variables for Astro, and when each one takes effect.
How Astro reads variables
Variables prefixed PUBLIC_ are available in browser code through import.meta.env. Others stay on the server.
Set your variables
npx ezhst env set PUBLIC_SITE_URL=https://my-app.easyhost.fun npx ezhst env import .env npx ezhst env list npx ezhst redeploy
Variables apply on the next deploy or redeploy.
What EasyHost provides
| Variable | Value | Available |
|---|---|---|
NODE_ENV | production | When the app runs, not during install or build |
PORT | 3000 | Build and runtime |
HOST | 0.0.0.0 | When the app runs |
HOSTNAME | 0.0.0.0 | Build and runtime |
Your own variables are available in both the build and the running app.
Common problems
- Variable is undefined because it was only in a
.envfile - A public variable is undefined in the browser because it changed after the build
See the Astro hub for every Astro guide, or free Astro hosting for what is included.
Frequently asked questions
Are my .env files uploaded?
No. ezhst deploy skips every .env* file. Use ezhst env set or ezhst env import.
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