# §100 — Putting it online

The part that is usually a second stack: a certificate, a renewal, a proxy, and a `nginx.conf` nobody wants to own.

`@atlas/edge` is all four. It terminates TLS, issues and renews Let's Encrypt certificates automatically thirty days before expiry, compresses, and proxies to your app — so the compose file loses its Caddy sidecar entirely.

In development with no `DOMAIN` set it detects localhost and serves plain HTTP on `:8080`. No certificates, no sudo, no separate dev path to get wrong.

On the first production boot, run once with `ACME_STAGING=1`. Let's Encrypt allows five failures per hostname per hour and a wrong DNS record spends that in a minute. Staging certs show as untrusted in the browser — that is what they are for. Then clear the cert volume and restart without it.

## Where now

- Read the edge reference — /docs/edge/
- Back to the start — turn to §1
