# Replit (Reserved VM / Autoscale)
static shell
Use the canonical Express + Docker install at [/install/express-docker](/install/express-docker). The snippets on this page are the platform‑specific deltas on top of that baseline.
Use the canonical `server/` + `dist/` layout. Replit's free tier sleeps the runtime; for an always‑on listener use **Reserved VM** or **Autoscale** deployments.
```ini
# .replit
run = "node agentsite/server.mjs"
modules = ["nodejs-20"]
[deployment]
deploymentTarget = "vm" # Reserved VM — Autoscale also works
run = ["node", "agentsite/server.mjs"]
[env]
DIST_DIR = "/home/runner/${REPL_SLUG}/dist"
AGENTSITE_SITE = "https://yoursite.com"
PORT = "3000"
# Then add AGENTSITE_TOKEN in the Secrets pane (NOT in this file).
```
**Token in the Secrets pane, not `.replit`.** `.replit` is committed to the repo; the Secrets pane is encrypted per‑Repl and exposed as env to the runtime.