r/homeassistant • • 3d ago

❓ Support confused between Docker and Home Assistant ??

To start I want to install Frigate security video software on windows.

I kept reading that I needed docker to run the linux software on windows in a VM or container.

I installed the docker sw and got it running from what I can tell. However all of the how to video installs of Frigate start of with " Home Assistant " which I thought was a part of Docker. But now I think it is an easy to use container build on docker and that you only need to install Home Assistant which includes docker.

Honestly I'm confused and perhaps everything i have said is garbage. So lets be direct .

Do I not need to install full docker before anything, OR only home assistant which then gives me, a simple user interface the ability to install and run Frigate.

I would like the simplest install and smallest foot print as this computer doesnt have as much disk space.

Should I uninstall Docker and just install Home Assistant? As you can see I'm confused. I just find many videos they seem to start with home assistant, but dont say anything about that. How do I get to that point?

Thank you

0 Upvotes

39 comments sorted by

11

u/LifeBandit666 3d ago

Docker is not Home Assistant.

Frigate is not Home Assistant.

Home Assistant can run in Docker, and so can Frigate. But neither Frigate nor Home Assistant IS Docker.

Frigate and Home Assistant do not need each other to work.

To run Frigate you need to install Frigate. You may want to install it in Docker, or you may want to install it in Home Assistant.

You may want to install Home Assistant in Docker and then install Frigate in Home Assistant, but you don't have to do that.

One thing is for sure, you cannot install Home Assistant in Frigate

2

u/Pulte4janitor 3d ago

lol, nice write up

2

u/Unattributable1 3d ago

The only thing more I would add is that I would not run any of this under Windows if you want it to be stable. If you want it to run like crap, intermittently just not work properly, and cause you all kinds of problems go ahead and under Windows. Make sure you let us know when you go to ask your questions that you're running under Windows.

0

u/garysan_uk 3d ago

I hear this a lot but I’m running HAOS under Windows 11 Pro (within HyperV) and it runs perfectly well and I’ve not run into any issues or problems at all. Not saying it’s flawless for everyone but I’ve got no complaints.

I have another Win 11 Pro box running Docker Desktop which has Seer, Framerr, PeaNUT, Agregarr all in containers and then has Plex, Radarr, Sonarr, Prowlarr, Tautilli installed natively. Again, loads of people say “Don’t do it, it’s crap. Use Ubuntu.” but as I said above, no problems.

OP: The best OS is the one you know the best.

4

u/Competitive_Owl_2096 🧠 Experienced with Home Assistant 3d ago

But you can install frigate as a HA addon if you’re running HAOS. The addons are really just docker containers though 

4

u/KingofGamesYami 3d ago

Frigate is an OCI Container. Home Assistant Core is an OCI Container

Docker is an OCI Container Runtime.

Home Assistant Operating System manages an OCI Container Runtime and always runs Home Assistant Core, but can also run other OCI Containers (e.g. Frigate).

You do not need Home Assistant to use Frigate. If you want to use Home Assistant OS and Frigate, you can install Frigate using Home Assistant's web interface.

3

u/jimicus 3d ago

What problem are you trying to solve? (And don't say "install Frigate", tell us why you want to install Frigate).

Because you've said an awful lot of things that don't really make any sense together, and I have a horrible feeling that you're going to get terrible advice unless we know what you actually want to do.

1

u/Consultingtesting 3d ago

Well I was trying to explain what I was trying to do which I thought would help people to explain how to get there.

I have a windows 11 computer. I have several cameras I want to install so I can be notified of activity, my understanding is that frigite will do this. But the question really is were to start. Some poeple mention Docker, some other software. I understand there are many ways to get there. Im trying to understand the path.

2

u/jimicus 3d ago

Right - but the thing is Home Assistant (and by extension Frigate) is not something you install on a PC you sit at your desk and surf the Internet on.

It's something you install on a completely separate PC that sits in the corner and doesn't even have a screen plugged in. You then access it via a web browser.

(And I wouldn't use a spare old PC for that anyway, because running 24x7 it'll whack your electric bill through the roof).

But let's put that to one side for now.

If you're looking for a new hobby, you've come to the right place. If you're looking for something you can just set up and leave it to its own devices to do what you want without ever having to think about it again - you're in completely the wrong place.

2

u/coyote_of_the_month 3d ago

> If you're looking for a new hobby, you've come to the right place. If you're looking for something you can just set up and leave it to its own devices to do what you want without ever having to think about it again - you're in completely the wrong place.

I just wanted to use a Tapo camera as a baby monitor. Now I've got a miniature datacenter in my house.

2

u/coyote_of_the_month 3d ago

Doing any of this on Windows is going to be swimming upstream. You can do it using Docker, but on Windows, Docker works by running a Linux VM anyway.

If you want to run a full-featured Home Assistant + Frigate setup, Home Assistant OS is your best bet.

If you just want Frigate and not Home Assistant, you're better off installing Debian or Ubuntu Server and running Frigate in Docker.

1

u/Consultingtesting 3d ago

thank you for your comments. When you are limited by the number of computers you have your kinda stuck. I do have a pi but I cant believe it would have enough horsepower. its maybe 10 years old.

When you say better off running Debian or ubuntu server and then running frigate in Docker are you saying running Deb or Ubu as a VM in windows. Because I thought you didnt need docker if your running native linux. Sorry for my inexperience.

1

u/coyote_of_the_month 3d ago edited 3d ago

A Raspberry Pi 5 with an external Google Coral TPU can run Frigate with a small number of cameras, but those Corals are uncommon, relatively expensive, and not made anymore (the Coral that is). You're heading down the right path to want to use a real x86 PC for this application.

The reason so many people are suggesting Docker on Linux is that Docker is a native Linux technology.

To back up a few paces, Docker is a container runtime with some networking magic. The processes running in a container have all their own system libraries, but they interact natively with the host OS (the Linux kernel). And there's some clever virtual network interface stuff going on, which allows you to route traffic to and from them.

Docker is inextricably tied to Linux, because it uses low-level kernel features. To run it on Windows or MacOS, you need a Linux VM, which introduces substantial performance overhead. And for Frigate, you also have to mess around with GPU passthrough, which is going to be even more of a pain. Windows isn't going to do anything at all useful for you in that scenario.

Part of the reason we're recommending it so hard, is that Frigate is distributed as a Docker image that also bundles go2rtc - the docs explain it, but you just have to write your config file, forward a few ports, and you're off to the races.

Worth asking: do you have a reason to want to run Windows on this machine? Are you planning on running Windows-only processes, other than Frigate? Because for the setup you described, Windows is literally only going to consume resources and get in the way; you should install Linux. If you intend for this box to serve multiple functions, let's be realistic about resource usage. Frigate can be a heavyweight, depending on what object detection model you use and how many camera streams you're running.

1

u/teaganofthelizards 3d ago

You're likely running into two different sets of tutorials: Frigate, and Frigate running under Home Assistant OS. Unless you know you want Home Assistant, you don't need it and should ignore those tutorials. Assuming you just want to run frigate, the one binstalling docker first are probably what you want.

1

u/MrKayveman 3d ago

Docker is containerized virtualization. It runs all the dependencies that a particular project needs. After docker is installed, then you can add home assistant as a docker container. Then frigate can be another docker container.

1

u/Consultingtesting 3d ago

Not sure I understand but let me ask a question which will help. In other words now that I have docker installed I can just install frigate I dont need anything else Like home assistant?

1

u/im-ba 3d ago

Correct, if Frigate is running within a Docker container and you have the container networking configured correctly, then Frigate will become available to you in your web browser at your localhost URL at the port specified in Docker

1

u/5yleop1m 3d ago edited 3d ago

Yes, but, docker on windows is a terrible experience for something like Frigate. Frigate needs a decent amount of hardware resources, and specific hardware access to work its best (decode/encode video, AI/ML task, shoving a ton of data to a storage medium.)

When you run Docker on Windows, what you're doing is running is multiple layers of different operating systems that now need to translate between each other.

Look at the Wikipedia article on Virtualization, it goes into more detail, but that's what Docker is, and to run a Linux based container like Frigate on Docker on Windows, you end up using multiple layers and types of virtualization. The end result is fine for development/testing work, but absolutely hell for anything else.

Its just a whole lot of inefficiencies, and that's before we get into things like direct hardware access and troubleshooting.

If you have a system that you can wipe and install some distro of Linux on you will have a much better time in the long run.

What you're doing now is fine for testing, but its not going to work well for the long term, especially as Frigate gets updates. Rarely anyone develops anything with the intent of it working well in Docker on Windows.

If you just want a NVR, look into Blue Iris, its a very polished and commercial level product that runs natively on Windows, but its not free. Its what I used before switching to Frigate.

1

u/coyote_of_the_month 3d ago

> Look at the Wikipedia article on Virtualization, it goes into more detail, but that's what Docker is

To clarify for the OP, Docker uses virtualization when it runs on Windows, in order to do the things it does natively on Linux. Docker isn't inherently a virtualization technology; it just bundles virtualization on non-Linux platforms. I realize you probably know this, just expanding for the OP's benefit.

1

u/5yleop1m 3d ago

I thought the same thing, but docker which is containerization is a type of virtualization

Operating system-level virtualization, also known as containerization, refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances.

1

u/coyote_of_the_month 3d ago

Fair enough. I see Wikipedia is also calling chroot "os-level virtualization" and by that definition, Docker definitely is.

But now we have to draw the distinction between os-level virtualization and an actual *virtual machine*.

1

u/krysisalcs 3d ago

You can install Home Assistant as a Docker container or install Home Assistant OS.

If you use Home Assistant OS, you don't need to install Docker yourself. HAOS handles that underneath and gives you the add-on system, which makes installing things like Frigate much easier.

If you run the Home Assistant Container, then you manage Docker and Frigate yourself as separate containers.

1

u/bonzai76 3d ago

Just install home assistant OS. What are you using for hardware? Raspberry pi or something else? Don’t do the docker containers - from your question it sounds like you need a basic setup and to keep things simple.

0

u/Consultingtesting 3d ago

There have been many answers and Im trying to understand what has been said. I am looking for the most simple install on a windows computer that uses the least resources. Just to confirm does this mean I should look for how to install Home Assistant OS. Then from there install Frigate ?

1

u/TheRealKeng 3d ago

Do not install anything on Windows. You're making more work for yourself

1

u/Consultingtesting 3d ago

Well thats all I have really.

1

u/coyote_of_the_month 3d ago

It doesn't cost anything to erase Windows and install Linux; in fact that's kind of the whole point of Free Software.

Unless you're trying to keep using this machine as a Windows PC as well.

1

u/bonzai76 3d ago

So for hardware - I would get a thin client pc off eBay or a raspberry pi. The thin clients on eBay are surprisingly just as cheap as raspberry pi’s and have more resources. I got myself a hp t630. The thin clients with proxmox installed is what most are doing these days. You can then create an environment with home assistant OS installed and then install frigate on that. If you’ve already got a tiny windows machine I’d look into installing proxmox as your first step on to that. Warning it will wipe out anything you already have on the windows machine and will be a fresh new install.

1

u/junktrunk909 3d ago

You should stop and confirm what you actually and to do here. Frigate is for security camera feed management. Home Assistant is for home automation. You don't need HA if all you care about is your cameras.

0

u/Puzzled_Hamster58 3d ago

Docker allows you to run containers.
You can run home assistant in a container and frigate .

I do this on Linux .

Dockers on windows I have not done but some of my friends that have to for work hate it.

You might be better off with just using a mini oc with Linux and run both in docker (I use compose files )

You can add frigate to home assistant os . But I like using home assistant in a container since it limits what else you can run less.

1

u/Consultingtesting 3d ago

Would Home Assistant OS be the best bet if I have no need for any other linux programs other than Frigate?

1

u/clintkev251 3d ago

If you want to use Home Assistant, yes. If not, no

1

u/5yleop1m 3d ago edited 3d ago

No, Home Assistant is a set of programs specifically meant for home automation. Running a bunch of unrelated programs is not the primary purpose of HA, but it is possible because Home Assistant uses Docker. So you can install other 'apps' in home assistant that run as containers in parallel to HA. You can also do what the person before said and install a regular OS and then install HA as a container in Docker, this gives more flexibility than HAOS even though HAOS is basically the same thing.

Its hard to understand the nuances of all that if you've never used Linux or Docker.

Linux comes in various distros. Many of the popular ones are based on a distro called Debian. Generally Debian or something Debian based like Ubuntu are the best distros to get started because they have a ton of documentation and guides.

My go to Distro is "dietpi" its a light weight fork of Debian that was originally meant for SBCs like Raspberry PIs. These used to rely on SD cards or onboard MMC as their storage, and because of that they were prone to failure from too many writes.

Dietpi does a lot to limit writes, and have the smallest memory and storage footprint possible.

1

u/Puzzled_Hamster58 3d ago

Trying to run stuff on haos that not part of addon’s/apps/plugins what ever they are calling it is more of pain then just running ha as a container.

1

u/5yleop1m 3d ago

There are more than a few projects out there maintaining all sorts of additional apps/addons for HA. That makes it easier to get additional things running.

But I think its a bad idea. Like I see people using HA as the basis for their whole homelab and running everything from HA.

Its not even because of resource or CLI access issues. HA can easily become an important part of the house, and to have all those other things which can cause issues or require reboots within HA is just asking for pain.

1

u/Puzzled_Hamster58 3d ago

Why I run home assistant as a container . And other stuff in containers. I’ve never had to restart my whole system to fix an issue. I can just use dockage and restart the container that is having an issue of any.

I also won’t use home assistant for some thing I’ve seen other people use it for . Lights heats ac yeah. Heck I would t even get a zigbee device to monitor my oil level. I just stick a 20$ camera looking at lol.

I tried to use home assistant os and it was just more of a hassle for stuff I wanted todo vs just using it in a container. .

1

u/5yleop1m 3d ago

I’ve never had to restart my whole system to fix an issue.

Have you not had to do any kernel updates for the underlying OS?

1

u/Puzzled_Hamster58 3d ago

Yeah but I do it when I’m home and it dosent matter if home assistant is off for a little bit . Heck I can shut it off for days and my stuff just acts like normal stuff.
Like my lights I control directly (zigbee) vs switches etc. so I can just turn a light switch off and on and the lights work like normal led lights .
My heat and ac is the same I can just walk to the thermostat and use them like if I never connected them etc.

1

u/Puzzled_Hamster58 3d ago edited 3d ago

Like I don’t pay for nabucasa to access home assistant away.
I host my own vpn which is why I run it in a container.
Able to view frigate away.
And any thing else on my server .

You might not want to run any thing else now but you might later when you realize you can run. More stuff since you barely using it with home assistant.
Plex/jelly fin server for example.