When I was researching the best Home Assistant installation method for me, I initially settled on Home Assistant OS (HAOS) because of its easy access to the add-on store. However, I eventually realized that I would have to use Home Assistant in a Docker container instead.
Most of this has to do with hardware and budget constraints, but using a container has also given me valuable insights into the Home Assistant ecosystem, helping me determine the best path forward without sacrificing too much functionality.
My NAS doesn't have enough RAM to host a VM
It requires a minimum of 2GB
While I always test self-hosted services on my main PC first, the ones that I want to have round-the-clock access to go on my NAS. However, my NAS is quite underpowered, with only 2GB of RAM. With the services I already use on the device, I only have about 40% of this capacity free at any time.
If you want to use Home Assistant OS in a virtual machine, the documentation recommends at least 2GB of RAM. I tried to see what would happen if I created a VM with only 1GB of RAM, since someone I work with recommended it. However, the VM application on my NAS would not create a host with less than 2 GB of RAM.
I can upgrade my NAS to 6GB RAM, but the module I need is currently out of my budget and is in limited stock locally.
Home Assistant's hardware availability is limited locally
This means I can't get a plug-and-play solution
Speaking of limited stock, a standalone Home Assistant device like the Home Assistant Green was also a solution I looked into. It appealed to me because it would give me a plug-and-play solution for running Home Assistant, since I am still new to self-hosting.
However, the device hasn't been in stock at local suppliers for months. When the Green is restocked, it often costs more than in other markets due to import taxes and limited local competition. Meanwhile, the Home Assistant Yellow is not available locally at all.
Budget constraints prevent me from buying a mini PC
The ideal solution is too expensive
A colleague recommended that I buy a mini PC to host HAOS. This makes a lot of sense — I can save money by buying a refurbished device and use it for multiple services, rather than having the entire device dedicated to HAOS.
But once again, my limited budget reared its head. Even with refurbished units, local listings are quite expensive. This applies across different categories of electronics because these devices attract a high import tax. Even if I could afford a mini PC, there would still be a learning curve, since I don't have much experience with VMs. Using Docker is actually easier for me to do, as it has been the only method I've used for self-hosted services since I started dabbling.
I wanted to try it before I invested further into it
It helps to get to know the platform first
While budget was a major reason I didn't opt for a HAOS install, I also wanted to try Home Assistant before investing in devices to run it. So for me, Docker was the best way to do this. It would also let me see whether my current smart home devices integrate well with Home Assistant.
Since the main difference between HAOS and Home Assistant Container is the availability of add-ons, the container gives me enough of a glimpse into the ecosystem to see how much use I'd find for the service. I often find that you need to try out a service for yourself to see whether it fits into your life. There have been plenty of times I've set up a service and then stopped using it a few weeks later.
Using it as a Docker container has already given me a lot of insight into the platform. There were challenges I didn't expect after installing Home Assistant — and this has encouraged me to take my time learning more about the platform and potential automations rather than spending a bunch of money on something I may not use that much.
I can manage my own add-ons instead
It just takes a bit more work and configuration
Two of the big reasons to use HAOS over Home Assistant Container are that you can easily access pre-configured add-ons and manage updates more easily. Updates are no issue for me, as I know how to update my Home Assistant and other container images.
I do miss the convenience of a built-in add-ons store, but that doesn't mean I can't access these services at all — I just need to create my own containers for them. Getting them to work with Home Assistant is a bit trickier than installing them directly as add-ons would be, but it's still possible.
As a result, I still have a lot of functionality with my container installation. While I eventually want to move to HAOS to make things easier for me, I'm in no rush, as running it in a container lets me get to know the service without investing in additional hardware.
Home Assistant Container is a cost-efficient way to run the platform
While many people will argue that HAOS is the superior installation method, I've found that there aren't as many trade-offs to using Home Assistant in Docker as I expected. If you're already familiar with Docker, you may prefer it to HAOS.
With that said, I find that many factors contribute to which installation method suits each user. Since budget and a lack of appropriate hardware were major factors for me, using the platform in a Docker container is the perfect solution.
