throw me a bone here.
I have an extra old laptop, 512mb ram, p4. Would like to play around with hass and docker.
What do I need to install?
throw me a bone here.
I have an extra old laptop, 512mb ram, p4. Would like to play around with hass and docker.
What do I need to install?
you could just install and linux distro (I use debian), then docker then the generic linux install of hass.io - I did that previously on a Pi3 so even the base model pi4 should be ok… however there’s still no ‘buster’ version of docker so you need to trick it into installing the stretch version - there’s plenty of online tutorials for doing that.
or just install the hass.io pi4 image - you’ll still have docker on that but it will be harder to add stuff with HassOS instead of a real linux distro.
ok thanks. ill look into it. currently its running ubuntu 18 server and HA for testing purposes.
HACS just downloads integrations, Lovelace cards, themes and the odd python scripts. It is nothing like hassio addons store and is completely different
Zigbee2mqtt has a docker container, I run it for my ZigBee devices.
@theplasticbling So just to clarify, we all run the same Home Assistant. The only difference is the installation method that you choose, and Hassio is one of those installation methods. Hassio allows for the use of these add-ons and also the ability to make snapshots of your setup to restore to a previous version if needed. Also you don’t need to worry about messing with Docker with the Hassio installation method. The supervisor takes care of that (in case that is a concern).
Actually, Docker helps accomplish that. Running everything in Docker prevents cruft on your OS, as the only dependencies required are what are needed to run Docker itself. All dependencies of the apps are handled within their respective Docker images. I run my system on a NUC running Alpine Linux. I have only installed what I need to run Docker, and a couple of monitoring and backup packages. Everything else runs in Docker. I am currently only running 12 Docker containers on that NUC (the NUC is dedicated to Home Automation tasks only). I never have to worry about versions of dependencies for each app, nor do I ever have to worry about applications conflicting with each other.
I doubt this will happen other than HACS
I cannot reccomend highly enough to use docker and hassio on your home server.
As others mentioned running all these microservces in docker is a breeze. W/O docker you are in dependency hell!
in my server I am running esxi and i have an ubuntu VM w docker just for hassio.
I have another ubuntu vm with docker for other services like plex etc. I use docker compose which makes it trivial to bring up all the services with correct volume maps etc.
This is my preference for separation and allocaiton of CPU/mem etc, but its not a necessity.
Actually, Docker helps accomplish that. Running everything in Docker prevents cruft on your OS, as the only dependencies required are what are needed to run Docker itself
This.
Trust me here.
I used to to have my home server running with no docker and maintaining deps, upstart/systemd, updating via apt-get etc became a nightmare.
With docker its not really even a consideration…
If you want simplicity, hasso is the way to go. I work with docker professionally, while it is simple once you understand it all, it’s not a walk in the park. Hasso abstracts all that away from you while still leaving you a way to custom integrate if you’d like
As was mentioned previously, HassIO is probably the easiest way to run HomeAssistant. For myself, I have Ubuntu installed on a NUC, then HassIO installed there. Not only can you run AddOns, but also generic docker containers, and that’s a huge benefit that can’t be overstated.
Once you have a generic linux install on the computer, it’s maybe 6 or so commands you need to run to install HassIO and get it running. Here’s a link to those commands.
HomeAssistant, HassIO, HassOS, and Hasbian all ultimately run Home Assistant, but they are also different in some very important ways. I’ll try to outline them below-
HassOS is a minimal linux install which has Docker on it, with HassIO preinstalled. It runs headless, which is to say that that computer running it has no GUI (if you attach your RasPi to a monitor, it won’t give you an interface to use. HassOS can be installed on more than just a Raspberry Pi though, It can be installed as the base OS on many systems, but if you have a more powerful machine I would recommend just HassIO so you can still use the machine for other things.
HassIO is a way of installing Home-Assistant inside docker. It includes a supervisor container and a container running Home Assistant. It allows you to install AddOns which are separate docker containers. The supervisor container of HassIO takes care of managing the other containers used for home assistant.
You can also add your own containers to Docker without HassIO caring about them.
You can run HassIO on a linux install that has a GUI, or one that is headless; in either case you can still use this computer to do other things, with docker running in the background.
Home-Assistant is the specific python program. This is what’s actually running at the core of every HA install.
Hassbian is a SD card disk image which is a Raspbian installation with home Assistant in Virtual Environment, pre-installed.
So, to summarize, the most popular install on a RasPi is HassOS, which is:
HassOS->Docker->HassIO->Home-Assistant+AddOns
On other devices (such as desktops, laptops, servers, NUCs), HassIO is the popular choice, which is:
LinuxOS(usually)->Docker->HassIO->Home-Assistant+AddOns
If you’re using Hassbian, that’s:
RaspianOS->PyVENV->Home-Assistant
What is the differences between “hass.io” and the official docker base image at
https://hub.docker.com/r/homeassistant/home-assistant
I look at the github and notice that hass.io’s base image is an ubuntu, while the docker base image is base on alpine. They are obviously two different things. Yet you are telling me they both are docker containers.
I am a bit confused here.
‘Hassio’ ( name is retired, now called home assistant) is a set of docker containers that are managed through the supervisor container. If you only install the standalone container, you don’t have homeassistant, but homeassistant core.
I just reinstalled home-assistant from scratch recently, as my previous installation reside on raspberry pi died due to SD card failure. I certainly wasn’t aware of this “supervisor container” when I briefly went through the documentation and installation guide. The installation guide is still raspberry pi oriented, so i skim through that installation page without picking up the “supervised installation” since it is buried in the “alternative installation method” on a separate page.
I went to docker hub look for official image instead.
Now I look at it, this supervisor container installation looks more and more like something for kubernetes than docker, and it seems that it requires a full blown linux host to get it to work. My environment is a commercial NAS which I have no control over what kind utilities built in (for example, there is no systemctl in my NAS’ linux)
If it’s just a single docker, I can specify the network, running in privilege mode since the docker need to have access to my USB zwave dungle on my host machine, and I can map the data configuration directory to the host.
For one, there are no option for me to specify:
--device /dev/ttyUSB0
on supervisor’s installation script.
It means that my zwave dungle probably won’t be recognized by the hassio installation (you can claim hassio is retired all you want, but it is simply not true. the word “hassio” is everywhere in the documentation and github).
In short, this supervised installation is definitely something of work in progress. It is not designed to install on commercial NAS like what I am doing right now. And by the way, there are A LOT of people who are running HA on commercial NAS, as NAS is the one sever people tend to own already.
I wonder if I spin up various supporting dockers manually (supervisor, apparmor) without going through the installation script…