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 login2. Authenticate Docker with Harbor
Harbor uses your Unisrv auth token as the password:
unisrv auth token | docker login harbor.unisrv.io --username unisrv --password-stdin3. Build and push
docker build -t harbor.unisrv.io/unisrv-io:latest .
docker push harbor.unisrv.io/unisrv-io:latest4. 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:
| Type | Record | Value |
|---|---|---|
| ALIAS | unisrv.io | srvedge.net |
Or, if your provider doesn't support ALIAS/CNAME flattening:
| Type | Record | Value |
|---|---|---|
| A | unisrv.io | 70.34.214.14 |
| AAAA | unisrv.io | 2a05: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 — accept6. Create a service and roll out
unisrv srv new unisrv-io unisrv.io
unisrv rollout unisrv-io harbor.unisrv.io/unisrv-io:latest -p 80Live 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