Skip to content

Domains

Where an App lives: its address on basemodo.app, your own domain with HTTPS, and what happens to links when you rename it.

Its address

Every App answers at https://<name>.basemodo.app, its name followed by a short suffix only when another App already had that name. The address is on its own domain, apart from basemodo.com, so nothing an App does can touch your Basemodo account.

Renaming an App

basemodo rename gives an App a new name, and its address follows:

Terminal window
basemodo rename team-lunch --app lunch-rota

The old address keeps working for 30 days: every request to it is sent to the new one, path and all, so links people already have still land. Meanwhile no other App can take the old address. Its custom domains do not change. From then on, deploy it with basemodo deploy --name team-lunch (or from a folder of that name). Only the App's Owner renames it.

Custom domains

On the Pro and Workspace Plans an App can also answer at a hostname of yours, like app.example.com, with HTTPS that Basemodo sets up and renews. On the Trial and Starter, adding one is refused with custom_domains_not_on_plan.

  1. Add it: basemodo domains add app.example.com. It prints two DNS records.
  2. Add both at your domain's DNS host:
    • a CNAME record at app.example.com pointing to domains.basemodo.app, which sends visitors to Basemodo;
    • a TXT record at _basemodo-challenge.app.example.com with the value it printed, which proves the domain is yours (the CNAME alone does not: anyone could have left one pointing at Basemodo).
  3. Verify: basemodo domains verify app.example.com. DNS changes can take a few minutes to show; the error domain_not_verified says which record is still missing. Basemodo also looks by itself every few minutes for a week.

Once verified, the App answers at the hostname at once, with the same Visibility and sign-in as at its basemodo.app address, and the same rules for search engines. Basemodo then gets a certificate from Let's Encrypt (a minute or so): basemodo domains list shows each domain as pending (records not found yet), issuing, active (served over HTTPS) or failed (with the reason, for example a CAA record that does not allow Let's Encrypt; Basemodo tries again within the hour). Certificates are renewed well before they expire, as long as the CNAME still points at Basemodo.

The CNAME cannot sit at the apex of a domain (example.com itself), so use a subdomain such as www or app. A hostname belongs to one App: the first to verify it holds it, and domain_taken tells anyone else. basemodo domains remove frees it; deleting the App does too.