Skip to content

Map a custom domain

Goal: Serve an app on a subdomain you own (for example app.example.com) with a valid TLS certificate.

Prerequisites:

  • An app running on its default {slug}.run.uploy.eu URL.
  • Access to DNS for the domain you want to use.
  • A subdomain (at least three labels, e.g. app.example.com). Apex domains and wildcards are not supported in this release — see Limitations.
  1. Open the app detail page and switch to the Domains tab.

  2. Click Add and enter the subdomain (e.g. app.example.com). The row appears with state DNS not yet pointing at Uploy and a DNS instruction block.

  3. At your DNS provider, create the exact record the dashboard shows, in the form:

    app.example.com CNAME {project-slug}.run.uploy.eu

    where {project-slug} is your project’s slug (displayed in the instruction block).

  4. Wait a minute for propagation, then click Recheck on the row. Uploy resolves the CNAME; if it matches, the state transitions to Issuing certificate….

  5. cert-manager requests a Let’s Encrypt certificate over HTTP-01. Within ~1–2 minutes the state reaches Active · HTTPS ready.

  6. Open https://app.example.com — the app is served on your custom domain in addition to the default {slug}.run.uploy.eu URL.

Each domain row has one of these states:

StateWhat it means
DNS not yet pointing at UployThe CNAME does not match {slug}.run.uploy.eu yet. Create the record and click Recheck.
Issuing certificate…DNS verified. cert-manager is issuing a Let’s Encrypt cert over HTTP-01.
Active · HTTPS readyTLS is live. The domain serves your app.
FailedCertificate issuance failed. See the status detail and the Domain not resolving guide.
Deleting…Removal in progress.
  • Domain status is Active · HTTPS ready.
  • curl -Iv https://app.example.com returns HTTP 200 and a valid certificate chain.

On the Domains tab, click Delete on the row. The Ingress and TLS certificate are removed; the domain is freed and can be re-added immediately (to the same app or to a different one).

  • Subdomains only. example.com (apex) and wildcards (*.example.com) are not supported yet.
  • No redirects. If you want both www.example.com and example.com (once apex is supported) pointing at the same app, add each as a separate row.
  • One domain, one app. A domain can only be attached to a single app at a time. To move it, delete it from the first app and add it to the second.

See Domain not resolving if the row stays in DNS not yet pointing or Failed.