Domain & TLS
Each workspace gets its own subdomain on hanai.systems. Caddy handles the certificate. There is nothing for you to renew.
Your subdomain
| Item | Value |
|---|---|
| Pattern | <your-id>.hanai.systems |
| DNS provider | Cloudflare, managed by our provisioner via API |
| Record type | A record pointing at your VPS public IP |
| TLS | Let’s Encrypt, automatic, issued on first request by Caddy |
The subdomain is created during provisioning step 14. The certificate is issued during step 15 once DNS propagation completes.
Why a subdomain
- The dashboard’s Telegram login widget requires a domain that resolves with valid TLS — raw IP addresses are rejected.
- A clean URL is easy to bookmark and share inside your organisation.
- A dedicated subdomain means your dashboard is fully isolated, even from other Han AI workspaces.
After provisioning
Your operator runs /setdomain <your-id>.hanai.systems once against your bot in BotFather. Without this step the dashboard login widget displays “Bot domain invalid”. The provisioner prints a reminder at the end of setup.
Custom domains
Using your own domain instead of a hanai.systems subdomain is supported but not the default path. If you need this, raise it with your operator — it requires a one-off DNS and Caddy configuration step.
TODO: confirm custom-domain SLA and pricing.
Certificate renewal
Caddy renews automatically before expiry. No action required from you.
Next
- The systemd services — Caddy and the dashboard.
- Dashboard login — the Telegram widget that uses this domain.