Custom Domains
By default, your Mini App is served at {project}.tma.sh. You can add a custom domain so users access your app at your own address, like app.yourdomain.com.
Adding a custom domain
Section titled “Adding a custom domain”Step 1: Add the domain in the dashboard
Section titled “Step 1: Add the domain in the dashboard”Go to your project’s Settings > Domains page and enter your domain (e.g., app.yourdomain.com).
Step 2: Configure DNS
Section titled “Step 2: Configure DNS”Add a CNAME record at your DNS provider pointing to tma.sh:
| Type | Name | Value | TTL |
|---|---|---|---|
CNAME | app | tma.sh | Auto |
For an apex domain (e.g., yourdomain.com without a subdomain), some DNS providers require an ALIAS or ANAME record instead of CNAME. Check your provider’s documentation.
Step 3: Wait for verification
Section titled “Step 3: Wait for verification”TMA.sh checks for the DNS record automatically. Verification usually completes within a few minutes, but DNS propagation can take up to 48 hours depending on your provider.
Step 4: SSL is provisioned automatically
Section titled “Step 4: SSL is provisioned automatically”Once the domain is verified, TMA.sh provisions an SSL certificate via Cloudflare. HTTPS is enforced by default — no configuration needed.
Domain statuses
Section titled “Domain statuses”| Status | Meaning |
|---|---|
| Pending | DNS record not yet detected. Waiting for propagation. |
| Active | Domain verified and serving traffic with SSL. |
| Failed | Verification failed. Check your DNS configuration. |
You can check the current status on the Settings > Domains page in the dashboard.
Multiple domains
Section titled “Multiple domains”You can add multiple custom domains to a single project. All domains serve the same deployment. This is useful for:
- Regional domains (e.g.,
app.yourdomain.comandapp.yourdomain.de) - Migrating from an old domain to a new one
- Vanity URLs
API route domains
Section titled “API route domains”Custom domains apply to your static SPA. API routes remain accessible at {project}--api.tma.sh/api/*. If you need a custom domain for your API, contact support.
Removing a domain
Section titled “Removing a domain”To remove a custom domain, go to your project’s Settings > Domains page in the dashboard and delete the domain entry. Traffic to that domain will stop resolving. Remember to clean up the DNS record at your provider as well.
Custom domain management is dashboard-only — there are no CLI commands for adding, listing, or removing domains.