To confuse things more, hassos is also available for nuc.
Advice for someone starting from scratch: use docker.
Nah, that would make things too easy! He wants to ignore experienced users and do things the hard way
Wants to use Hass.io, but wants to avoid the deathly and plague like conditions of Docker.
Good luck!
I shunned docker for ages, thought it seemed unnecessary. It is, but it also makes many things easy and convenient, and I increased my skill set.
Completely agree. I stuck with Venv and the old, old AIO install for way longer than I should of.
Wow, great community, here. All I wanted was guidance on how best to build my HA system — what add-ons/building blocks to use and in what order — and instead I get a bunch of posts about SD cards and SSDs and now I’m being bashed about Docker (without so much as a “hmmm, that’s odd… what problems have you had with Docker?”) Really helpful, guys. Thanks a lot.
Look, I understand that Hass.io is running in a Docker container and I’m fine with that. As far as I can tell, Hass.io “just works”. But the last time I tried to setup HA - specifically NOT using Hass.io but rather using HA IN A DOCKER CONTAINER and setting up Mosquitto, Portainer, Node-RED, and a few other components - ALL in Docker containers - everything went to hell and I got really weird errors about more than one of my non-functioning containers. I asked for help on multiple forums and NO ONE could tell me what the problem was or how to fix it — which is precisely why I’m starting from scratch again and why I’m going with Hass.io this time, with all that stuff running as add-ons rather than in separate Docker containers.
Sorry to try and help, and to correct your misapprehensions about docker. Unsubscribing from this thread. Good luck.
As far as I know if you want to run Hass.io you will not be able to run it without docker. Yes there is HassOS, but to my knowledge this still runs on docker.
( Hass.io OS based on buildroot. It’s a hypervisor for Docker and supports various kind of IoT hardware. It is also available as virtual appliance. The whole system is optimized for embedded system and security. You can update the system simple with OTA updates or offline updates.)
The only option you have if you really don’t want docker is either an install on linux or within a python venv. Just know that when you go this route there are several advantages and disadvantages vs Hass.io.
Advantage using HA instead of Hass.io:
- it starts up much faster
- it has a full OS running underneath it so it could be purposed for other things without the need for docker
- you can easily access the console/logs
- there is imho a lesser security threat as when you use Hass.io. This is because you can install addons like portainer with a single click, same goes for configurator or vscode. Why is this imho opinion less secure then? Well if they find a way into your Hass.io instance, they will literally have access to everything including your secrets.yaml file. The reason I say this is because I have found people posting this on github and even after I warned them they still have their repos online with the including secrets.yaml file. Now if you protect your setup well enough this shouldn’t pose a problem but still I find it important to mention. Also know that not installing an addon will make no difference because when they have access to your hassio instance they will also have access to the addons and they can add stuff like portainer very easily. If you do intend to use portainer please use it locally only!
- it is a lot easier to troubleshoot stuff with regular HA
Advantages Hass.io vs standard HA:
- you have a lot of addons available for hassio which are not available for HA. Some might work on both like the xbox one component but most are written specifically for Hassio.
- hassio is a lot easier to use because of these addons and imho a lot more versatile
- hassio is easier to setup as you don’t need to setup ssh/samba etc from the cmd line/ssh terminal. Again this is because of addons.
Thanks for the input, Jim. I’m cool with Hass.io running in a Docker container. No worries - no one seems to have any mysterious Docker problems in conjunction with Hass.io. But a recommendation was made to install Portainer and my thinking is that if I’m not running anything else in a Docker container (because I’d much rather have all that running within a trouble-free Hass.io container than in separate Docker containers which have proven to be a nightmare for me in the past) - then I probably don’t need Portainer. (Am I wrong about that? Is Portainer still somehow beneficial if my only container is my Hass.io container? And if Portainer is running as an add-on inside my Hass.io container, does that even make sense?)
The community add-ons are a big reason why I want to go with Hass.io - I’ve tried setting up several components in an HA environment and had lots of headaches. I’m hoping that add-ons in Hass.io will be more plug-n-play.
None of the add-ons run inside hassio. It doesn’t do docker inside of docker.
Add-ons are other docker containers running alongside hassio on the same host. It’s not really any different at all to running docker and managing it yourself.
You can do all this if you install Hass.io using the generic install method on Ubuntu/Raspbian. Hass.io then has a full OS under it (ubuntu, debian, raspbian).
That is what you asked for - guidance on the best way forward. SSD’s and SD cards are apart of that, how do you not understand that? Providing that information IS being helpful, it’s helping to guide you to the best install practices that others worked out. That is exactly what you wanted, “Advice for someone starting from scratch” so don’t bash people for providing that info.
You can still manage your Hass.io containers from Portainer. Portainer is not going to break you Hass.io install. You can install Portainer from inside Hass.io as an ad-on if you wish, I always prefer to install it manually, personal preference.
Again, here is a full guide ( I provided a .txt. link earlier), start to finish, that will help you achieve exactly what you want. Follow it, or don’t.
https://drive.google.com/open?id=1oKhnQ1rz-Yd5HheA8rNk5YNq8e67-5Kh
[quote=“flamingm0e, post:31, topic:135555”]
None of the add-ons run inside hassio. It doesn’t do docker inside of docker.
Add-ons are other docker containers running alongside hassio on the same host. It’s not really any different at all to running docker and managing it yourself.
[/quote]Oh. I assumed the add-ons were running inside the Hass.io container. I didn’t realize that the add-ons were separate Docker containers. Yeah, Docker containers inside a Docker container doesn’t make much sense. Clearly, I won’t be avoiding Docker like the plague! Thanks for clearing up my misconception, Flamingmoe!
If you ever get around to installing Portainer, you will be able to see all the Docker containers, including the ones that you have installed via Hass.io. Every add-on is a separate Docker container.
That’s pretty cool! Best of both worlds, right?
Fair enough. Reviewing my initial post, I see what you mean. My bad. Sorry. The thing is, I’m no stranger to Raspberry Pi’s and SD card issues. What I was really asking (ergo my very first question about add-ons — and again, I apologize for not communicating this better) was essentially - “So, I’ve installed Hass.io… what should my next steps be?”
Got it. Now that I understand that all these add-ons are going to be running in containers (and I’ll be unable to avoid my nemesis, the evil Docker ), I guess Portainer is going to be fairly essential. I’ll let the add-ons do the work, though since Docker seems to have it in for me!
Awesome! I totally missed the earlier link. I’ll read it thoroughly. Much obliged for the help!
I’m following your guide and I have a couple of follow up questions. I don’t understand the intent of this step:
6.) Copy your yaml files to the NUC /PC/ RPi, normally in the location /usr/share/hassio/homeassistant.
Copy them to where? Is this an extension of “4.) If you have a current HA install on another machine”… and only applies if that applies?
7.) Install Portainer to manage your Docker containers for anything that you might want to run that isn’t available through Hass.io or HACS.
I thought that if I installed Hass.io in a Docker container, then any add-ons I install will be inside that same Docker container. You and others on this thread said I was wrong (@flamingmoe even laughed at me about this) – but the way you worded step 7 makes it sound like I was right in the first place. Now I’m really confused!
Run this command in terminal/Putty;
sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
This is the command, regardless of whether I’m installing to a PC or a RasPi? Don’t Docker commands usually differ depending on the host platform?
Install and configure Samba for file sharing.
Just to confirm, if the rest of my machines are Linux or Mac, I don’t really need Samba, right? This is just for Windows PCs?
I didn’t laugh at you about this. I laughed that you said HassIO doesn’t have any problems. I find this absolutely hilarious.
The Docker command itself doesn’t differ. Sometimes there is a particular image associated with an architecture (that’s up to you to figure out if the docker image you want to run has different tags based on the architecture). It’s dependent on the developer of that image.
Samba works on every platform, so Samba is the best way to go about it. Samba is not just for Windows. It is the recommended file sharing protocol for pretty much any LAN.
Got it. Thank you for all the clarifications!
OK, so that’s a little scary…
It’s open source software bud, if you want a bulletproof solution without the odd bug here and there, HA isn’t for you.
Exactly where it says in the line your quoted - "normally in the location /usr/share/hassio/homeassistant "
And yes, you are still wrong.
Add-ons are still not installed inside the hassio container. They are installed in their own containers.
The point of that line was to say that since this is a generic Linux install in docker there are other apps you do can run besides the ones available as an add-on. And if you install an add-on you don’t necessarily need pertained because those are managed thru hassio. But you can also still manage them with pertained too if you want.