Adding a Domain
Custom domains are bound to a specific service port. When you add a domain:- Point your domain’s DNS to your edge hostname.
- Add the domain in the service port settings.
- The platform automatically provisions a TLS certificate via Let’s Encrypt.
Internet → Proxy Node → Traefik (TLS) → WireGuard → Container.
Automatic Subdomains
Configure Automatic Subdomain Domain under Settings → Infrastructure to offer automatic domains in service networking settings. For example, with the setting configured asapps.example.com, a service whose private hostname is
project-api-production can use project-api-production.apps.example.com.
Create a wildcard CNAME record for *.apps.example.com that points to your
edge hostname. The setting contains only the base domain, without *. or a
protocol. Custom domains remain available alongside automatic domains.
TLS Certificates
Certificates are provisioned using the ACME HTTP-01 challenge. The control plane handles the challenge validation — Traefik routes/.well-known/acme-challenge/* requests back to the control plane.
Certificates are:
- Issued automatically when a domain is added.
- Stored in the database and distributed to all proxy nodes.
- Renewed automatically before expiration.
Multiple Proxy Nodes
When using multiple proxy nodes for geographic distribution, all proxies share the same TLS certificates from the control plane. A stable external load balancer with active health checks is the ideal production solution for proxy failure. Configure every proxy as an origin, point the edge hostname to the load balancer, and point custom domains to the edge hostname. Health-aware GeoDNS is an alternative, but failover remains subject to DNS and client caching. Plain multiple A records provide best-effort distribution and do not guarantee that clients avoid an offline proxy. See the Architecture page for details.Protocols
Each service port specifies a protocol:
For HTTP ports, you can optionally bind a custom domain. For TCP/UDP ports, traffic is exposed via an external port on the proxy node.
