There's two ways of running it in Docker.
- There's the standalone, officially supported version, where you run just Home Assistant Core. You don't get any add-ons (via the Supervisor) like this nor the snapshot functionality.
- There's the Supervised version, where a system has multiple Docker containers running simultaneously: Home Assistant Core, but then also the supervisor and a Docker container for every add-on you're running. You also get the snapshot functionality (backup of the whole system).
The latter is the way that it is done on the Home Assistant OS (in other words, what you will have if you run it on a Raspberry Pi) or if you run it within a VM.
They also support the Supervised version it on a generic Linux host -- but you have run a specific Linux Distro and there are some other specifications.
That being said - you can actually installer the generic Linux approach method on more Linux distros, but you're unsupported if you do it that way. Meaning, the developers from HA won't help you if something goes wrong. The community will likely still try and help you. I myself are running it with the Supervisor on an Ubuntu host running on an Intel i5 machine, so I'm technically "unsuported".
View attachment 959958
What am I really saying?
- if you want to run it in Docker and are happy with managing the other images (such as Mosquitto MQTT) in docker yourself, and not use the supervisor, then use the Core Docker approach.
- if you know Linux and want to run it in Docker with the full supervisor experience, then go for the Supervisor docker approach and prepare to spend some time on it, and know that it could break in the future.
- if you don't want to struggle too much, run it in a VM and use the VM images provided by Home Assistant. Yes you will lose some performance but probably won't be that much and it is supposed to be easier.