> For the complete documentation index, see [llms.txt](https://docs.hivel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hivel.ai/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites.md).

# Setup and Prerequisites

DNS Setup (Azure)

## HTTPS Setup for Hivel UI (Caddy Reverse Proxy)

Enable HTTPS for the Hivel Web UI without provisioning an Azure Application Gateway or Load Balancer. This is a lighter-weight alternative to "Option C: Azure DNS + Load Balancer" in the main deployment guide - suitable for smaller deployments, pilots, and environments where standing up a Load Balancer is not desired.

## Why This Is Needed

The Hivel UI container serves traffic on port 3000 over plain HTTP. Modern browsers restrict certain security-sensitive APIs (such as crypto.randomUUID, used on pages like sign-up/KYC) to secure contexts only - HTTPS, or localhost. Accessing the UI directly via http\://\\\<vm-public-ip\\>:3000 does not satisfy this, and affected pages will fail with a crypto.randomUUID is not a function error.

[Caddy](https://caddyserver.com/) is a lightweight reverse proxy that terminates TLS in front of the UI container, forwarding decrypted traffic to port 3000 internally. It runs as a Docker container, so no additional software needs to be installed on the VM - Docker is already a prerequisite for this deployment.

## Prerequisites

* VM up and running with the Hivel UI container healthy on port 3000 (see Verification and Access in the main guide).
* Docker installed on VM (already required by the base deployment).
* SSH access to VM.
* **Option A only:** a domain or subdomain you control (e.g. hivel.yourcompany.com), and the ability to add a DNS record for it.

{% columns %}
{% column %} <a href="/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure.md" class="button primary" data-icon="backward">DNS Setup</a>
{% endcolumn %}

{% column %}

{% endcolumn %}

{% column %} <a href="/self-managed-hivel-deployment/virtual-private-cloud/azure/dns-setup-azure/setup-and-prerequisites/option-a-domain-+-lets-encrypt-recommended.md" class="button primary" data-icon="forward">Option A- Domain+Let's Encrypt</a>
{% endcolumn %}
{% endcolumns %}
