For the complete documentation index, see llms.txt. This page is also available as Markdown.

Setup and Prerequisites

DNS Setup (AWS)

Overview

Enable HTTPS for the Hivel Web UI using Caddy, a lightweight reverse proxy. This guide covers prerequisites and two setup paths:

  • Option A (Recommended): Domain + Let's Encrypt for production

  • Option B (Temporary): Self-signed certificate for testing


Why HTTPS 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 sign-up and KYC pages-to secure contexts only (HTTPS or localhost).

Accessing the UI directly via http://<vm-public-ip>:3000 does not satisfy this requirement, resulting in a crypto.randomUUID is not a function error on affected pages.

Caddy 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 installation is needed-Docker is already a prerequisite for this deployment.


General Prerequisites (Both Options)

  • VM is up and running with the Hivel UI container healthy on port 3000 (see Verification and Access)

  • Docker is installed on the VM (already required)

  • SSH access to the VM


Option-Specific Prerequisites

Option A (Domain + Let's Encrypt):

  • You have or can obtain a domain or subdomain (e.g., hivel.yourcompany.com)

  • You can add DNS A records for your domain

  • Go to: Option A: Domain + Let's Encrypt

Option B (Self-Signed HTTPS – Temporary Testing Only):

  • For testing before domain/DNS setup is complete

  • Not recommended for client-facing production use - browsers will show an untrusted-certificate warning

  • Go to: Option B: Self-Signed.


Next Steps

For testing/development: Use Option B .

For production or when a domain becomes available: Upgrade to Option A: Domain + Let's Encrypt (see Upgrading from Option B to Option A for migration steps).

Last updated