Goals

The goals of this tutorial are:

  • SSL / HTTPS everywhere. All services are accessible over HTTPS with a valid certificate, eliminating browser warnings. This can be achieved with a Let’s Encrypt certificate or a commercial one.

  • A dedicated subdomain name per service. Each service is reachable by its own hostname, such as grafana.example.com, rather than by a port number such as nas.example.com:3000. Services can be organized as subdomains of the primary domain, or under a dedicated internal subdomain such as nas.internal.example.com.