Domain and HTTPS
Point a domain at your server and enable HTTPS for the panel and your apps.
Point DNS to the server
At your DNS provider, create an A record pointing to the server IP:
| Type | Name | Value | Used for |
|---|---|---|---|
A | panel | Server IP | The panel, e.g. panel.example.com |
A | *.apps | Server IP | Default app domain (optional) |
Check that the record is live:
dig +short panel.example.comOn Cloudflare, keep the record DNS only (grey cloud) while the first certificate is issued. You can turn the proxy on later with SSL/TLS set to Full (strict).
Panel domain
- Open SettingsIn the panel, go to Settings → Domains & SSL.
- Enter the panel domainFor example
panel.example.com. The A record must point to the server before you save. - Enter a Let's Encrypt emailOptional, for certificate expiry notices.
- SaveTraefik updates its routes within about 5 seconds and fetches a certificate. Open
https://panel.example.comto check.
If GitHub is connected, the panel moves the GitHub App webhook to the new domain automatically.
App domains
Every service gets an address like <project>-<service>.<default-domain>. Two options:
- No DNS needed: by default the panel uses
<IP>.sslip.io, e.g.shop-web.203-0-113-10.sslip.io, with HTTPS out of the box. - Your own domain: create a wildcard record
*.apps.example.com, then set Default domain for apps toapps.example.com.
Each service can also have its own custom domains in its settings. The panel issues a certificate for each one.
Close port 3000
Once the panel works over HTTPS, you can close port 3000 in your firewall so the panel is only reachable through its domain.