Understood. That’s definitely the goal! I think at this point in the project, that’s true except when you get into troubleshooting why things don’t work (which can unfortunately be often, depending on the complexity of what you’re trying to achieve).
Thankfully a lot of really great content/information exists on the forum, just be careful when searching that the information isnt too outdated. HA development moves at a fast pace so information can become outdated quickly.
This is the reason most of us don’t recommend blindly following guides online (outside of the official website) or youtube tutorials, since all too often they lead people down the wrong path when things don’t work.
The Community Guides section of the forum is a great place to learn more about the install methods, and has (usually) up-to-date information.
Good example. The short answer would be to install the software/program on the bare metal of your machine or as docker containers if you have the option.
For example I run some non-addon containers in docker with the image obtained from somewhere generic like LinuxServer, some of which (like ombi) have HA integrations to talk to it.
So if, for example, you didnt or couldn’t use the deCONZ addon, you could run the marthoc container (avilable on docker hub), or install it right on your server, and then you could configure HA to talk to it (getting the same end result as running the addon version).
HOWEVER if you run things like this, you loose some addon specific things like ingress. That’s just not available unless you run it as an addon.
What's ingress?
Introduced in 0.92 (?), ingress is a way of accessing the web based configurations, or webpages, hosted by addons. It used to be that the supervisor would let you re-map the addon’s port 80 to a new port, then you would use the new port to access the addon’s web page. For example you’re HomeAssistant interface may be http://My.IP:8123
and the deCONZ config page would be http://My.IP:8951
.
Ingress acts as a nginx proxy server to let those pages be hosted as subdomains. This is great for external access, since you no longer need to forward all those other ports as well in your router. And the ingress pages are protected via your HA authentication, so you can only access them after logging in.
You can acomplish a similar thing running your own nginx proxy server, and their might even be a way to leverage the HA auth system (maybe?), but it would be all manual work you have to do and research. Running supervised HA means ingress is built in and enabled with 1 button press.
Introducing Hass.io Ingress - Home Assistant
One of the main struggles in documentation is the dev cycle. It sounds like an excuse (and pretty much is) but keeping up with all the scattered documentation when things can change very dramatically very quickly is a weak spot here that pretty much all users and devs agree needs some love. All of the documentation is hosted from github though, so every page has an “edit” button. ALL community members are encouraged to use this to submit PRs to fix documentation problems when found.
I hope you can stick with it without too much more frustration, as the platform is super powerful already, and only getting better every 3(ish) weeks.