On reading up on home assistant i got the impression a small computer was the way to go, so i treated myself to 2 monitors & 2 Beelink 13 mini computers, running windows on one & Linux on the other just for home automation & HA. I have got the widows one working fine & got the Linux one working with windows wiped off it.
I am using a lot of Zigbee from Tuya/Sonoff/Shelly items around the home & want to get this working via HA.
What would you suggest to a newbie the best way to install HA on a Linux mini computer? as there appears to be several ways from partitioning the hard drive, to a virtual space & a few others that use dockers i assume help load the ship. Is there a good simple & reliable way to do this. Thanks
Don’t , as you are a “Newbee” you would most likely go for “VirtualBox” which is the worse choice, next after Windows( HyperV ),
so if anything ( in Virtualization ), Use VmWare( in some default-OS ) , or Proxmox
As you for some reason “treated your self” with “beefy” miniPC’s, it would be a waste( But High Performance Choice) to install HA on BareMetal.
Be aware there are Homeassistant Doc, which could be a mandatory starting point.
Installation - Home Assistant .
Also there is a Search function in here, if you have “Specific” thoughts.
NOTE: You will most likely get a wide variations of “Suggestions/Recommendations” within above, from people with experience in respective “field”
So try to dig out , your own experience, and future “engagements” , as it sounds like in You have a lot of “reading up” and maintenance ahead of you, Either Way
Not to use Linux, just install HAOS on bare metal as they call it. Follow this.
And just because you are asking this question I am assuming you have not read any of the docs. I would suggest reading the docs on the website and then having a look at Youtube if you need more guidance, but do remember that HA changes so fast any guide you look at over 6 months old may lead you in the wrong direction. Be Aware and read the docs first and you will have a much better experience.
Good luck, and pop back if you have any questions.
Hi, you could have left that 2nd monitor out since HA is serversoftware and there is not much to see/do on the system itself.
As my fellow helper already suggested:
- don’t go for running HA on top of Windows, save yourself the trouble!
- running HA bare metal is a waste of money, resources but…
The other advise you got of running it bare metal is also valid: it can be the easiest way when you just get started with HA.
It all depends on your skills, knowledge, perseverance, willingness to learn new things (and maybe make mistakes).
The point is: if you have started automating your place which makes you more dependent on HA and on top of it, you don’t live there alone, it can be difficult to start again from scratch.
Running HA as a virtual machine can have a lot of benefits since it’s easy to spin up another instance, make backups (or even take snapshots), test, learn, …
On the other hand: you might have to learn new things on top of HA.
If your system has a more then 4 cores and 8GB RAM, I would not install bare metal because of not using the resources you have.
Of course it’s possible to install quite a lot of service on top of HA but again: you make your system even more critical to all those while getting familiar with HA itself.
As you can see from my signature: I’m running Proxmox VE which is a Debian (Linux) based system which makes it possible to run containers and virtual machines.
If I restart my HA, all the rest remains available.
One more thing: make sure to have working backups so you can go back to a working situation when things go south.
Haffun!
I’ll put in a vote for bare metal, as @Arh linked, above. Is it a waste of resources? Probably. I run HA on a re-purposed laptop a family member discarded. Sure, it’s got more memory and CPU capacity than HA needs, but the install and ongoing maintenance couldn’t be simpler.
I also have a bunch of Zigbee devices, and agree HA is the way to go for them. I use the built-in “ZHA” integration to manage my Zigbee devices. Again, dead simple, out-of-the box solution. You can choose to install another layer, Zigbee-to-MQTT, if you plan on using MQTT in the future anyway. I don’t and never found the need to. Again, two less things to learn, install and maintain.
Yes, that maintenance thing again. This is most certainly a consideration with any home automation solution. Things change fast, updates are frequent, and there’s almost always something which needs re-configuring, or which breaks, with every update.
Finally, if you’re using Zigbee, you need a coordinator. The easiest solution here is a USB dongle. One tip: Buy a 1 or 2 meter USB extension cable, to keep the coordinator antenna away from the interference from your computer’s power supply and built-in radios.
Follow the instructions in the Generic x86-64 link, above. You’ll have HA running in minutes.
I stand by running bare metal HAOS as learning proxmox or similar when you are trying to learn HA, is asking too much of someone who is not sure about how to run HA on linux.
HAOS is so easy to backup restore and change platforms etc there is no point starting out with Pproxnox.
I run proxmox and have for years but would not recommend it if your starting out unless you are familiar with Linux and VM’s etc.
The one thing I would suggest to a newbie is setup backups to a location away from HA as soon as possible, you will need a backup for sure when starting out.
I disagree. You can run a lot of things as an app. Even things that are barely HA related. So if there’s nothing you want to run on it that isn’t available as an app, there’s no waste at all. I have 21 apps (though not always all running at the same time).
Yes… And.
Yes it is a waste of resource.
And.
We need to scaffold. I can’t throw someone into management of a hypervisor AND Learn HA at the same time when they’ve brand new. They’re both very complicated.
If we want the users to have a great experience. How about go bare metal FOR now… Learn HA
THEN.
Once you’re solid - backup. Install Proxmox. Then run the community HA installation script and restore your backup (yes that’s seriously how hard it isn’t) and I did EXACTLY this when I first started HA.
So you get BOTH.

Both is indeed good.
Don’t get so hung up on resources if a new user starts in the complex and fails they won’t feel successful. If instead they start just a little smaller… Success potential skyrockets
OP. Go bare metal first you can always change later.
In short: RTFM ![]()
I run Home Assistant in a Docker container on a mini PC running Linux Mint. I find running services in Docker containers as the way to go. For example my MQTT service is running in a Docker container, my Navidrome instance is in a Docker container and my Music-Assistant server is in a Docker container. All but the MQTT is running on the same miniPC. I use the Portainer Docker container to manage these containers. Each container instance is mapped to storage areas outside the container so that all container data are retained.
It is important to understand what services require special horsepower and/or storage and to delegate those requirements to systems capable of those tasks. Normal Home Assistant tasks require very little resources. For example Home Assistant will easily display video camera feeds, but don’t run a video service that is trying to do image recognition and video storage on the same mini PC running the Home Assistant server. You might run out of storage space and/or have very slow performance. A separate mini PC with proper storage and a specialized image processor would take care of that DVR type requirement. You would set up such a system to notify HA and serve up video to HA when requested.
My approach divides tasks and services. The MQTT broker handles just that traffic. Navidrome handles the task to serve old Apple iPod music plugged via USB, external USB drive based music and internet sourced audio (radio and podcasts) to Music Assistant. Music Assistant handles the tasks required for managing all audio sources, including the Navidrome provided content, to synchronized “players” available in the house LAN. Home Assistant provides the means to locally control all devices and services, including displaying interfaces for Music Assistant or Portainer. Home Assistant provides the means to locally integrate just about everything.
You’ve essentially described HAOS with a different underlying OS.
Thanks for the input “More to think about” lol. Just as an idea? , would i be better partitioning the drive & use part for HAOS & another part for Linux, so i can get used to / playing with Linux or would i get conflicts..
Ah! not to worry. On reading up on this, its not easily possible.
.
Thus my point up there… Scaffolding.
Learn HAOS first bare metal. Then complicate it
Emphasizing what @NathanCu and others are recommending: Start simple, with a bare metal install per the official documentation. Learn more about how HA works. Have your learning curve, “oh! that’s not what I expected” moments with out any other complications. Then, a bit down the road, add in Proxmox or other layers if you like.
This is a very good point. I’ve actually done this a number of times. One time I wanted to try out the Firefly iii financial package. Turns out there’s an HA app for that. Another time I wanted to spin up an Apache web server on my LAN for some testing. Again, there’s an app for that.
That extra CPU and memory sitting there idle on my HA laptop isn’t really wasted. It’s there, ready for immediate use, for these one-off tasks. And who knows, I may run a production version of Firefly iii on it if I decide I like the software.
“Bare metal” HA is running Docker under the covers, so you’re really using a VM anyway. Adding apps like these creates another container. But you as a user don’t need to think about any of this, or, more importantly, worry about keeping it up to date and working with HA. Yes, that removes some of the control you’d have with your own custom VM environment, but as others have pointed out, you can always do that later if the need arises.
I recommend bare metal as described in the official docs for the Generic x86-64 install.
I originally planned to install mine on a Linux server because it’s my nature & experience that “I must have total control”. Then I starting reading the docs & forums posts, and I decided, ok, I need to learn HA first before I can control it lol. So, I installed bare metal on mini pc to keep it simple while I learned the lay of the land.
HA is fast-moving with constant changes & updates. I suggest you take your time, do a LOT of reading (official docs & here on the forums) and learn the terminology.
I don’t follow what mterry63 is saying unless it is that HAOS is HA in a Docker container. I would not know. I don’t want to commit the miniPC to HAOS. I want it to be a Linux box where I run certain apps in Docker containers and have the box available for general Linux use. I have no issues with HA in its container being managed the same way all the other containers are managed. It is easier for me to manage all my other Linux computers the same way.
Proxmox is user-friendly, has a large community, and offers easy installation via scripts found online.
- Easy installation of important add-ons outside of Home Assistant; they remain unaffected by Home Assistant restarts and the like.
Examples: MQTT, Zigbee2MQTT, Music Assistant Server, etc. - The best place to start.
I’m pretty sure That’s Not what a HA, & Linux Newbee would/Should even try ![]()
If he want a relative “smooth” First Time HA experience, He should go for a “vanilla” HAOS, And as he most likely also are not familiar with Virtualization, that means BareMetal
Right, and App’s has it’s own Containers(like Your Apps) , Pretty much what you “Described”
HAOS == minimal OS(maintained), Core in a Container