Change the Tenant Domain
Use sl deployment origin to change the public HTTPS address of an installed server Runtime. Run it on the deployment server with access to Docker and the original deployment directory. This command supports server deployments without Cloudflare Tunnel; it does not support local deployments or Cloudflare Tunnel deployments.
The address is the registered Runtime publicOrigin, not the tenant's optional Custom domain field. Updating that field does not change the deployment address or login callback.
1. Prepare the new address
- Point the new domain to the deployment server and configure a valid TLS certificate and HTTPS reverse proxy to the existing Runtime. Follow Domain and HTTPS preparation.
- Keep the old address available until the change succeeds. The CLI checks the new address before updating the registration.
- Use an HTTPS Origin containing only the scheme, host, and optional port, such as
https://new-runtime.example.com. Do not include a path, query, or fragment. - Use a tenant member account with
tenant.runtime.deployment.manage. Keep.envand.soln/deployment.jsonin the deployment directory; the CLI verifies that the installation matches the signed-in tenant.
Before proceeding, confirm the new address reaches the existing Runtime:
curl -fsS https://new-runtime.example.com/health/ready
2. Sign in and change the address
Replace the account, domain, and deployment directory with your actual values. Use the deployment's Control Plane API address for --base-url:
sl deployment login --base-url https://api.solncn.com \
--tenant example --email operator@example.com --method email
sl deployment origin --dir /opt/soln-tenant-runtime \
--runtime-origin https://new-runtime.example.com
The command updates the Control Plane registration, the deployment's RUNTIME_ORIGIN, and its state file. It recreates Runtime and Worker containers, restarts the deployment reverse proxy, and waits for readiness. Expect a brief interruption. It does not configure DNS, issue certificates, or change your external proxy configuration.
The registered login callback becomes https://new-runtime.example.com/auth/callback. Do not use deployment register --force to change the domain: it replaces the Agent credential.
3. Verify and sign out
sl status --dir /opt/soln-tenant-runtime --check --json
curl -fsS -o /dev/null -w '%{http_code}\n' \
https://new-runtime.example.com/health/ready
sl deployment logout
Expect runtimeReady: true and HTTP 200. Open the new address and verify login. The Control Plane tenant information page shows the updated Tenant access URL. Update saved desktop workspace addresses, bookmarks, and integrations using absolute URLs before removing the old domain.
If the command reports that the Control Plane Origin was saved but local synchronization failed, fix the reported issue and rerun the same sl deployment origin command with the same new address. Do not re-register the Runtime.