Goals
The goal of this tutorial is to:
Have valid SSL / HTTPS everywhere as possible. This can be with a commercial certificate, or with a Let’s Encrypt certificate.
Having specific domain names for each service, such as grafana.nas.example.com, instead of using ports to differentiate services (such as nas.example.com:3000 for the Grafana service).
Having a docker container manager, such as dockge to administer docker images for non-critical services, or services that do not benefit from not being a container.