Setup Modes
When you create a site in Vivreal, the portal asks you to pick one of three setup modes. Each mode trades off how much Vivreal handles versus how much your team owns.
This page explains the three modes, what Vivreal provides in each, and which is right for you.
Quick Decision Table
| Mode | What Vivreal provides | What you provide | Best for |
|---|---|---|---|
| Hosted by Vivreal | CMS + seeded schemas + rendered site + hosting + domain | Content | Non-technical users who want a turnkey site |
| Self-hosted | CMS + seeded schemas + API key + site ID | The entire frontend (framework, hosting, deploys, theming) | Teams with developers who want Vivreal as a headless CMS |
| Link existing collections | A reference to collections you've already created | The entire frontend (or skip this and just use existing Vivreal collections elsewhere) | Pointing a new site at collections you already manage |
Not sure yet?
If you're just exploring or don't have a development team, pick Hosted by Vivreal. You can always spin up a self-hosted or linked site later from the same group and collections.
Hosted by Vivreal
The turnkey option. Vivreal handles everything from content scaffolding to deployment — you just manage your content in the portal.
What Vivreal does:
- Seeds collection schemas and page configurations based on the template you pick
- Creates a GitHub branch, provisions an AWS Amplify app, and deploys your site
- Gives you a live URL (either a Vivreal subdomain or your custom domain)
- Re-renders when you update content — no redeploy required
What you do:
- Pick a template (Ecommerce Store or Showcase)
- Edit your content in the portal
- Optionally connect a custom domain
Best for: solo founders, small businesses, anyone who wants a professional site without a development team. Timing is ~3–5 minutes from Create Site to live URL.
Self-hosted
You want Vivreal for the CMS experience — a clean UI to organize content, schemas, media, publish dates, approvals — but your team builds and hosts the actual site themselves.
This is Vivreal-as-a-headless CMS.
What Vivreal does:
- Seeds collection schemas and page configurations (same as hosted mode)
- Issues you an API key and a site ID
- Exposes the Client API for reading your content
What you do:
- Everything frontend: pick your framework (Next.js, Remix, Astro, SvelteKit, plain HTML, a mobile app — whatever your team prefers), build it, host it, deploy it, theme it
- Call the Client API with your API key, scoped to your site ID, to pull content
Best for: companies with existing development teams, sites with custom design requirements, or use cases Vivreal's hosted templates don't cover. Vivreal doesn't prescribe or ship a rendering layer for self-hosted mode — the frontend is 100% yours.
Dev-focused guide
If you're picking this mode, read Self-Hosting: Headless CMS Quickstart next — it covers the API key, site ID, and a minimal fetch example.
Link Existing Collections
You already have collections in Vivreal (maybe from a prior site, or set up directly) and you want to create a new site configuration that points at them — without re-seeding or duplicating data.
What Vivreal does:
- Creates a site record that references the existing collection IDs you pick
- No schema seeding, no page-config generation — reuses what's already there
What you do:
- Choose which collections this new site should expose
- Build or host the frontend (same as self-hosted mode, unless you combine this with the hosted option)
Best for: spinning up a second site against the same content (e.g., a staging site, a partner-branded portal, or splitting a portfolio into themed sub-sites). Also useful when migrating from a legacy Vivreal setup — skip the seeding, keep the content.
Mode comparison at a glance
| What happens | Hosted | Self-hosted | Link existing |
|---|---|---|---|
| Vivreal seeds collection schemas | ✅ | ✅ | ❌ (uses existing) |
| Vivreal seeds page configurations | ✅ | ✅ | ❌ |
| Vivreal builds + hosts your site | ✅ | ❌ | ❌ |
| You get an API key | ✅ (used by Vivreal's renderer) | ✅ (you call it yourself) | ✅ |
| You get a site ID | ✅ | ✅ | ✅ |
| GitHub branch + Amplify app created | ✅ | ❌ | ❌ |
| Typical time from Create to ready | ~3–5 min | ~5 sec | ~5 sec |
Can you switch modes later?
Not directly — the mode is set when you create the site. But because Vivreal's CMS is decoupled from any one frontend, you can:
- Create a second site in a different mode against the same collections (for example, try self-hosted alongside your existing hosted site)
- Delete a site and recreate it in a different mode (your collections and content stay)
Next Steps
- Creating a Site — step-by-step walkthrough of the portal dialog
- Choosing a Template — deeper detail on Ecommerce Store vs. Showcase (hosted and self-hosted modes only)
- Self-Hosting: Headless CMS Quickstart — dev-focused guide for self-hosted mode
Source of truth
Setup modes are driven by the portal's site creation dialog and resolved in VR_Secure_API at site-create time.
- Portal:
src/components/Sites/Dialogs/NewSiteDialog/index.tsx— mode picker and POST body - Portal mode types:
src/types/Sites/index.ts—SetupModedefinition - Backend:
VR_Secure_API/src/createSites/api/controllers/createSiteCollectionData.js—hosted_by_ustriggers the Step Functions deploy pipeline;self_hosted_collectionsandlink_existing_collectionsfinish synchronously without deploy