Unisrv logoUnisrv.io
CLI ManualExamples

Full Deploy: unisrv.io

End-to-end deploy of a custom image to a custom domain using Harbor.

This walks through how unisrv.io itself is deployed — build a Docker image, push it to Harbor, wire up a custom domain, and roll out.

1. Login

unisrv login

2. Authenticate Docker with Harbor

Harbor uses your Unisrv auth token as the password:

unisrv auth token | docker login harbor.unisrv.io --username unisrv --password-stdin

3. Build and push

docker build -t harbor.unisrv.io/unisrv-io:latest .
docker push harbor.unisrv.io/unisrv-io:latest

4. Set up DNS

Point your domain at the Unisrv edge (see Hosts & Custom Domains for full details).

For subdomains (e.g. app.example.com), a CNAME to srvedge.net is simplest.

For apex domains (e.g. unisrv.io), CNAME doesn't work — DNS doesn't allow CNAME on the zone apex. Use an ALIAS/CNAME-flattening record if your provider supports it, otherwise use A/AAAA records:

TypeRecordValue
ALIASunisrv.iosrvedge.net

Or, if your provider doesn't support ALIAS/CNAME flattening:

TypeRecordValue
Aunisrv.io70.34.214.14
AAAAunisrv.io2a05:f480:2000:16fd::1

For managed *.unisrv.dev subdomains this step isn't needed — just unisrv host claim my-app and you're done.

5. Claim the domain and provision TLS

unisrv host claim unisrv.io
# Verifies DNS, prompts for TLS provisioning — accept

6. Create a service and roll out

unisrv srv new unisrv-io unisrv.io
unisrv rollout unisrv-io harbor.unisrv.io/unisrv-io:latest -p 80

Live at unisrv.io.

Deploying updates

Build, push, roll out — port and replica count carry over automatically:

docker build -t harbor.unisrv.io/unisrv-io:latest .
docker push harbor.unisrv.io/unisrv-io:latest
unisrv rollout unisrv-io harbor.unisrv.io/unisrv-io:latest

On this page