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 operatorpublish_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 onvivd.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
activebefore publishing can use it
Domain status
You will usually see one of these states:
pending_verification: registered but not verified yetactive: usable for publishing and routingdisabled: 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:
- Add the custom domain to the correct organization.
- Start verification to get the challenge details.
- Complete the challenge on the domain side.
- 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
activedomain 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.
Recommended launch workflow
- Decide which domain should be the live site.
- If you are unsure which domains are currently eligible, inspect the publish targets first.
- Register and verify it before launch day.
- Make sure its status is
active. - Save the latest Studio changes.
- Review the pre-publish checklist.
- Publish from the project.
Related pages
- Read Publish Your Site for the end-to-end launch flow.
- Use Troubleshooting if a domain looks right but publishing is still blocked.
Read Instance Settings for install-wide routing and capability settings.