lift domain
Manage custom domains with automatic HTTPS via Traefik, DNS checking, and SSL verification.
lift domain
Add, remove, list, or check custom domains with automatic HTTPS via Traefik and Let's Encrypt.
Subcommands
lift domain add <domain>
Add a domain to your app and set up Traefik for automatic SSL. Installs Traefik if not already running.
| Flag | Description | Default |
|---|---|---|
--acme-email <email> | Email for SSL certificate (Let's Encrypt) | interactive prompt |
--network <name> | Docker network for reverse proxy | onelift-network |
--entrypoint <name> | Traefik entrypoint name | websecure |
--www-redirect <mode> | WWW redirect: www-to-root, root-to-www, or none | - |
# Add a domain (interactive SSL email prompt)
lift domain add api.example.com
# Add with ACME email
lift domain add api.example.com --acme-email [email protected]
# External Traefik (different network and entrypoint)
lift domain add api.example.com --network my-proxy --entrypoint https
# Enable www redirect
lift domain add api.example.com --www-redirect www-to-root
lift domain remove
Remove the domain from .lift.json and restart containers without Traefik labels.
lift domain remove
lift domain list
Inspect running Docker containers for Traefik labels and display configured domains.
lift domain list
lift domain list --output jsonl
lift domain check <domain>
Verify DNS resolution and SSL certificate validity for a domain.
Checks:
- DNS A record resolves to the server IP from
.lift.json - Detects Cloudflare proxy (shows OK when IP is hidden behind CF)
- SSL certificate is valid (TLS dial check)
$ lift domain check myapp.com
Checking domain: myapp.com
DNS A Record 95.217.x.x OK matches server IP
SSL Certificate valid until 2026-05-01 OK valid
All checks passed!
Related
- lift init - Initialize project (creates
.lift.json) - lift push - Deploy application (applies domain labels)
- lift harden dns - DNS resilience hardening