Custom domains

Serve a Plexivo App Runner app or a Plexivo Kubernetes Ingress on your own domain. Prove you own it, point it at Plexivo, and HTTPS follows.

Every public app already has an HTTPS address on plexivo.app. Add your own domain, such as app.example.com, in three steps: add it, prove you own it, and point it at Plexivo. Plexivo issues and renews the certificate.

Add a domain#

  1. Open the app’s Domains tab. Choose Add domain (+ Add domain once the app has one).
  2. Enter the Hostname you control, such as app.example.com, and choose Add domain.

You can also add domains in Networking → Custom domains. There you choose the app, or Plexivo Kubernetes (Ingress host) for a host your Kubernetes Ingress will serve.

The app must be public. Addresses on plexivo.app and plexivo.com cannot be added.

Prove you own it#

Plexivo shows the DNS records to create under DNS records for your hostname. To prove ownership, create one of these with your DNS provider:

  • A TXT record named _plexivo-challenge.app.example.com with the value Plexivo shows, which starts plexivo-domain-verification=.
  • Or a CNAME from app.example.com to the app’s own plexivo.app address.

Then choose Verify. If DNS has not caught up, the domain stays Pending: wait a few minutes and verify again. A domain not verified within 7 days expires; remove it and add it again for a fresh record.

Plexivo routes a hostname only after ownership is proven. If another Plexivo account later proves it owns the same hostname, it moves to that account and stops routing to yours.

Point it at Plexivo#

Create the routing record Plexivo shows: an A record or a CNAME, with the value in the table. When Plexivo also shows an AAAA record, add it too, so visitors on IPv6 reach your app directly.

The Routing column reads Ready on Plexivo once Plexivo will serve the hostname. Whether your DNS points at Plexivo yet is up to your DNS provider; open the hostname to check.

The apex of a domainMany DNS providers do not allow a CNAME on the apex (example.com). If Plexivo shows a CNAME for an apex, use your provider’s ALIAS or CNAME-flattening record, or serve www.example.com and redirect the apex to it.

HTTPS certificates#

Once the hostname routes, Plexivo issues its certificate at the edge on the first HTTPS request, and renews it before it expires. The Certificate column shows whether it is valid, about to expire, or failed its check.

With the API#

bash
curl -s -X POST $API/tenants/$ORG/domains \
  -H "Authorization: Bearer $PLEXIVO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"host": "app.example.com", "record_type": "cname", "target": "APP_ID"}'
# the response lists "dns_requirements": the records to create

curl -s -X POST $API/tenants/$ORG/domains/$DOMAIN/verify \
  -H "Authorization: Bearer $PLEXIVO_TOKEN"

Use "target": "kubernetes" for a Plexivo Kubernetes Ingress host.

Remove a domain#

On the Domains tab, choose Remove…, then Remove domain. Traffic to it stops reaching the app; you can add it again later. Deleting an app removes its domains.

Next steps#

Updated 27 October 2026