Domains and automatic HTTPS for Docker apps
Every app gets an address, and any domain you add gets a certificate issued and renewed for it. You see which domains an app answers on and how long each certificate has left.


A proxy that knows your apps
A proxy in front of the cluster sends each hostname to the right app and gets a certificate from Let's Encrypt for it. There is nothing to configure per app beyond the domain itself.
Point a wildcard DNS record at the server once and every app gets its own address under it. Add custom domains next to that, or instead of it.
Several domains, one primary
An app can answer on as many domains as you like. Make one the primary and the others redirect to it, keeping the path, so www and the bare domain do not split your traffic. Turn on Force HTTPS to redirect plain HTTP on every domain of the app.
Beyond web traffic
Put a username and password in front of an app, with the passwords kept only as hashes. Show your own pages while an app is not deployed or is down. For things that are not web pages, such as a database or a game server, publish a TCP or UDP port instead, and keep the app off the proxy.
Other apps on the same instance reach an app by its internal address without a domain or a certificate.
Questions about this
- What DNS records do I need?
- A wildcard record pointing at your server for the default addresses, and a record for each custom domain you add. The Domains section of an app lists each one with its certificate.
- Can an app have more than one domain?
- Yes. Each domain gets its own certificate, one is the primary, and the others can redirect to it.
- What about services that are not websites?
- Turn off web access for the app and publish the port it listens on. It is then reached on the server at that port, and the proxy does not see it.