Web field Appendix 100 Route §100
Appendix A

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.

Type to search guides and package references.