Overview
One command builds the infrastructure and ships the platform onto it.deploy takes the
cloud as its target: unoverse deploy aws, or unoverse deploy digitalocean.
Prerequisites
- Ansible installed locally (
pip install ansible). This is the one thing the CLI does not install for you, and the check lands late in a first deploy, so do it up front. - Terraform and your cloud CLI are handled:
unoverse deployinstalls Terraform when it is missing, and offers to installdoctl.
Your cloud credential
Deploying creates infrastructure in your cloud account: server, load balancer, DNS, Postgres, Redis. It uses whichever credential your cloud CLI already holds, so there is nothing new to paste into unoverse.
It stays on your machine and is never shared.
The registry token you pasted at
unoverse create is a different thing and already done.
Your unoverse admin issued it, and it only pulls platform images.
Quick Deploy (Single VM)
d prints the full technical plan, and the saved plan is what
runs. Then it installs the platform on what was built, migrations included.
Every deploy after that is the same command, and it does the same comparison: any pending
ground changes are planned and applied first, then the latest images ship.
What the Rendered Configuration Contains
You never write it (Terraform renders it; deploy places it on the server), but for the curious it is the same format as.env, plus:
.env.
Runbooks
For detailed step-by-step guides, see the Runbooks:Deploying Your Own Work
Content does not rideunoverse deploy, which moves platform images only. Your work reaches
the server two ways, and neither needs a deploy or a restart:
- Your own work:
unoverse deploy studiofrom your project, which lints it, shows a plan, and writes it into the universeβs database over the API. - Marketplace items: installed one at a time in your universe. Open studio, then Marketplace.
Start on a Test Domain, Swap Later
The domain is a Terraform input, not a commitment. Deploy today under any domain you control (even a delegated subdomain likeacme-poc.yourcompany.com) and move to the real one when it exists. Nothing in the universeβs data references the hostname.
The swap:
- Change
domainininfra/<cloud>/terraform.tfvars. - Run
unoverse deploy <cloud>again. It plans the ground change, creates a new certificate and DNS records, and ships. The VM, database, Redis and everything in them are untouched. - Update your IdP: add the new origins and callback URLs in Auth0 or Cognito. This is the only manual step, and the one people forget.
http://IP:3001 and http://IP:4105 prove a deployment is healthy. You just cannot log in until HTTPS exists, because OIDC providers refuse plain-IP redirect flows.
Next steps
Runbooks
Operating a live universe: database, hardening, health checks.
Provisioning with Terraform
The inputs your ground takes, and what each one creates.

