Duck DNS, Let's Encrypt, DCHP, DNSmasq. What's the best way to access Hass.io externally and why would I use these?

Hi,

I have a few things that I would like assistance on:

  1. What is the best way to access my Hass.io installation externally if I have my own web server and domain?
  2. Do I have to use DuckDNS / DNSmasq?
  3. Do I need to encrypt my data with Let’s encrypt or can I do it via the web server too?

Why would I create a DHCP server? Setup a MariaDB SQL server? or NGINX SSL Proxy? The docs don’t really tell me why I would use it. Where as on the SSH page it tells me why and includes a video on it.

Thanks!

I personally setup VPN (OpenVPN) on my gateway/router. Then VPN via a dyndns provider in to connect to it.

I don’t like the idea of exposing HA to the web. Everything about that approach feels wrong to me. To each their own. I like the security of not having it exposed.