Skip to content

Domains & Publish Targets

Publishing in Vivd depends on two related pieces:

  • the domain being allowed for the organization or install
  • the project being ready to publish its current saved state

This page explains the domain side of that flow so the publish dialog is easier to reason about.

Buying a domain

Vivd does not sell domains directly yet. Buy the domain name from any domain registrar first, then connect it in Vivd.

When you buy the domain:

  • choose the domain name visitors should type, such as example.com
  • you only need the domain name; Vivd hosts the website
  • website builders, hosting bundles, and email add-ons are optional
  • keep access to the registrar account so you can open its DNS settings

After the purchase, go to Organization -> Domains in Vivd, add the domain, and copy the records Vivd shows into the registrar’s DNS page. When Vivd says the domain is connected, it can be selected from the publish dialog.

Domain concepts

Vivd uses two main domain usages:

  • tenant_host: a legacy Vivd-owned organization host assigned by an operator
  • publish_target: a domain intended for a live published site

For most live-site launches, publish_target is the clearest fit. Hosted Vivd uses org-scoped app paths and project-owned *.vivd.site publish targets by default, so tenant hosts are not auto-created for new organizations and are not part of the normal hosted launch flow.

Domain types

Managed subdomain

A managed_subdomain is a host the install manages directly, such as a Vivd-owned project publish URL.

Typical traits:

  • usually active immediately
  • does not require external verification
  • hosted project publish subdomains use *.vivd.site, while Vivd app and API hosts remain on vivd.studio
  • legacy tenant-host rows can be assigned by an operator when the install keeps a tenant base domain such as vivd.studio

Custom domain

A custom_domain is a real domain you bring to the install, such as example.com or www.example.com.

Typical traits:

  • must be registered to the correct organization
  • usually starts in pending_verification
  • must become active before publishing can use it

Domain status

You will usually see one of these states:

  • pending_verification: registered but not verified yet
  • active: usable for publishing and routing
  • disabled: known to Vivd but intentionally blocked

If a custom domain is still pending or disabled, the publish dialog will reject it.

Verification

Custom domains currently use a verification token flow before they become active. The admin surface can generate the token and show the values needed to prove domain ownership.

In practice:

  1. Add the custom domain to the correct organization.
  2. Start verification to get the challenge details.
  3. Complete the challenge on the domain side.
  4. Check verification again until the domain becomes active.

Until that last step succeeds, publishing stays blocked for that domain.

What the publish dialog checks

When you enter a domain in the publish dialog, Vivd checks more than just syntax.

It needs:

  • a complete domain value such as example.com
  • a domain that is enabled for the current organization
  • a domain that is not already in use by another project
  • an active domain status
  • a publishable build or saved artifact ready for the selected version
  • no unsaved Studio changes
  • no older snapshot currently selected in Studio

That is why “Publish” can stay blocked even when the domain itself looks correct.

Common publish blockers

These are the most common reasons the dialog refuses to publish:

  • the domain is not registered for this organization
  • the domain is assigned to another organization
  • the domain is still pending verification
  • the domain is disabled
  • the domain is already in use
  • the latest project artifact is still being prepared
  • Studio has unsaved changes
  • Studio is currently viewing an older snapshot

Typical self-host defaults

On solo self-host installs, the main public host from Instance Settings -> Network is always a publish target for the local instance. Solo installs can also use additional registered custom publish domains, but tenant-host style routing stays off.

  1. Decide which domain should be the live site.
  2. If you are unsure which domains are currently eligible, inspect the publish targets first.
  3. Register and verify it before launch day.
  4. Make sure its status is active.
  5. Save the latest Studio changes.
  6. Review the pre-publish checklist.
  7. Publish from the project.

Read Instance Settings for install-wide routing and capability settings.