Skip to main content
Every app you publish with App Builder gets its own address under your deployment’s domain:
That address is already on your own domain. There are two ways to change it: It takes effect immediately, with no DNS or certificate changes.
  1. Open the app in the app editor and click Publish.
  2. Next to Access link, click the edit icon.
  3. Type the new name (lowercase letters, numbers and hyphens, starting and ending with a letter or number), then click Confirm.
Publish panel of a published app: the edit icon next to the access link, then the name field with Cancel and Confirm The app is now available at https://<new-name>.app.<your-domain>. If you had renamed it before, the previous name stops working, so update any links you have shared.

Serve an app on a separate domain

Use this when an app must live outside your Teable domain, for example a customer portal at portal.example.org. Visitors keep seeing your domain in the address bar; nothing is redirected. Request flow: the visitor opens portal.example.org, DNS points it at your Teable server, and the server routes it to the app published at portal.app.teable.example.com You need:
  • Platform release v2026.11.5 or later (changelog). For sign-in to bring visitors back to this domain, also a Teable release dated 2026-11-05 or later.
  • The app’s current access link, e.g. portal.app.teable.example.com.
  • Access to the DNS settings of the separate domain.
  • Access to the server (Docker) or the Helm values (Kubernetes) of your deployment.

Step 1: Point the domain at your deployment

Add one DNS record for the separate domain: Check it before moving on: dig +short portal.example.org should return your access link or your server’s IP.

Step 2: Map the domain to the app

Add the mapping to .env in your deployment directory. Separate several mappings with commas, without spaces:
.env
Apply it:
Certificates are handled for you:
  • If your own certificate (TLS_CERT_FILE) already covers the domain, it is used.
  • Otherwise a Let’s Encrypt certificate is requested and renewed automatically. This needs the domain to resolve to the server and ports 80 and 443 to be reachable from the internet.
On an intranet with no inbound internet access, add the domain to the certificate you provide in TLS_CERT_FILE instead.

Step 3: Check it

Open https://portal.example.org. The app loads and the address bar stays on portal.example.org. From a terminal:
The app’s original access link keeps working. Apps that require sign-in bring visitors back to this domain after they sign in; when several domains point to the same app, they return to the first one listed.

Changing or removing a domain

  • To move a domain to another app, map it to the other app’s access link and apply again.
  • After renaming or unpublishing the app, update or remove its mapping right away: the freed access link can be taken by another app.
  • To remove a domain, delete its mapping and apply again, then remove the DNS record.

Troubleshooting

Last modified on November 5, 2026