SvelteKit environment variables in production
.env files are never uploaded to EasyHost. Here is how to set variables for SvelteKit, and when each one takes effect.
How SvelteKit reads variables
Variables prefixed PUBLIC_ can reach the browser through $env/static/public or $env/dynamic/public. Others stay private. Set ORIGIN to your public URL.
Set your variables
npx ezhst env set ORIGIN=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 SvelteKit hub for every SvelteKit guide, or free SvelteKit 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