Link a domain to your dashboard
Exposing the Hub dashboard to the public internet is discouraged. Prefer exposing individual apps. Use this guide only for a specific need, such as a demo Hub.
To open your Hub dashboard at a domain you own, such as hub.example.com, add it as a custom domain in your CI Account and choose Hub dashboard as its target. The custom domain rides the Cloudflare Gateway tunnel your Hub already holds open, so you donβt forward ports or request a certificate yourself.
You need:
- A Hub paired with your CI Account, with its Cloudflare tunnel active (Settings β Network shows the Cloudflare Tunnel card as Active)
- A domain you control, with access to its DNS
- An organization that can connect custom domains. On hub.ci.computer, connecting a new domain isnβt available to every organization yet β see the availability note on the Custom domains page.
Setting domain in Hub isnβt the same thing
Hubβs Domain name field, under advanced settings, and the domain option in settings.json set the root domain that Hub uses to build app hostnames. Your CI Account sets it when you pair the Hub. Changing it doesnβt publish the dashboard on your domain, and Hub doesnβt request a Letβs Encrypt certificate for it.
Earlier versions of Companion Hub did: you set domain, opened ports 80 and 443 on your firewall, and pointed an A record at your server. Donβt follow those steps on a current Hub.
How a request reaches the dashboard
With a custom domain, DNS sends the browser to Cloudflare, and Cloudflare sends the request down your Hubβs tunnel.
flowchart LR
U["Browser"] -- "https://hub.example.com" --> DNS["Your DNS record<br/>written by Entri"]
DNS --> CF["Cloudflare for SaaS<br/>certificate and edge"]
CF -- "down the existing tunnel" --> CD["cloudflared on your Hub"]
CD --> TR["Traefik on the Hub"]
TR --> D["Hub dashboard"]
TR -. "not covered by this setting" .-> APPS["Your apps<br/>give each one its own custom domain"]This setting exposes only the dashboard. Give each app that you want public its own custom domain, or expose it with Public Web.