Linux system: Hass.io vs Python Virtual Env

I run Home Assistant on Raspberry Pi 3 for about a year now. It is getting slow. I created a new install on another Raspberry Pi 3, but it is still slow.

I remembered that I have a small PC in my closet and I believe I should be able to use it. I think about installing Ubuntu Server 16.04.4 LTS.

I thought about installing Hass.io, but on this HA page Installation - Home Assistant, there is a NOTE for Generic Linux Server:

When you use this installation method, some add-ons will not be available, and the documentation might not work for your installation.

It looks like that I’d better install HA in Python Virtual Env on Linux system? I do not like an idea that some add-ons will not be available to me on Hass.io.

Why does it have to be python virtual environment or hassio only?

Why not Docker?

I guess I wrongly assumed that if they show this on their page, I’s better use one of them:

Installation
Hass.io
Python Virtual Env
Hassbian
Updating
Troubleshooting

A lot more options there…

Thank you.
On the Docker page, there is a section that is talking about Docker Compose. I have a few question, can you answer?
It says to create file docker-compose.yml. Should it be docker-compose.yaml?
Where should I place it to?

Also, does everything else work as with other installations? For example, it is not starting automatically. Should I do all steps that are in Autostart section on HA website?

You place the docker-compose.yaml file wherever you run the command from.

All components are the same. Add-ons are ONLY available on HASSIO.

This is because you did not tell your docker command to start automatically. What is your restart flag set to?

Those steps are for a python virtual environment. If you are running Docker, the python virtual environment doesn’t exist.

If you want to do a basic install on the server (no docker, hassio, etc), you can try these instructions: Home Assistant Fresh on Ubuntu 16.04 server
With the latest 3.5.4 python requirement, you may need to install a newer version of python using miniconda or a different apt repo (conda install). Works fine, no limitations as far as I can see. I’ve been running HA this way for awhile and never had any issues.

Thank you,

Sorry, another question. I installed docker and specified my config directory. It added files in that config directory, but when I edit .yaml files, the system does not take it. Even after reboot. I see the change in my file, but no change on the page.

For example, I removed introduction in configuration.yaml file, but the welcome card is still showing up. I also added something, but it does not show up.

What can it be? Is there another place for all those config files, but in this case, why did it place it in that config directory that I specified?

Are you sure you only have ONE instance running?

In a terminal window, docker ps -a

If you see more than one home-assistant docker in there, you need to kill all of them and redo your command

@TD22057, thank you for your reply. Looks like the installation that you show me is Python Virtual Env. I have done it a few times. I decided to try something new. If it does not work for me, I will reformat my device and start from scretch.

Are you sure you don’t have home assistant running in a python virtual env?

I am sure that I did not setup it in virtual env this time. I installed Ubuntu and run

docker run -d --name=“home-assistant” -v /home/homeassistant/home-assistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant

After that, I configured auto start and nothing else.

Also, I tried command that you suggested and have this:

homeassistant@HomeAssistant:~$ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                         PORTS               NAMES
d63d696df95b        homeassistant/home-assistant   "python -m homeassis…"   11 minutes ago      Up 11 minutes                                      home-assistant-homeassistant
53cfc5394229        homeassistant/home-assistant   "python -m homeassis…"   About an hour ago   Exited (0) About an hour ago                       home-assistant
homeassistant@HomeAssistant:~$ 

Where is that second installation and why do I have it? What should I do to fix it?

Interesting,

I found that I have files in config directory that I specified: /home/homeassistant/home-assistant and also, I have it in /home/homeassistant/.homeassistant

The same files are placed in two different places. Why is that Can I remove one of them? How to remove it from Docker?

What does this mean?

There is no “auto start” configuration that needs to be done for docker.

Please understand these aren’t “installations”. These are just running images. You ran the command twice. That’s why you have another instance.

Spend some time to understand what you’re doing.

You never told your container to restart. By running the command again, you fired up another running container. You can kill them by running docker kill <idofcontainer>

Please look into docker compose and set up your file

Don’t worry about removing from Docker. Look. Just kill your containers, remove the directory you don’t want, and fire up ONE instance.

After I installed docker, I rebooted my computer and HA did not start. This was the reason that I checked https://www.home-assistant.io/docs/autostart/systemd/ page and configured autostart.

Did you see my message above about it being in two different directories?

But this page has absolutely nothing to do with Docker containers.

Answered that too.

No, It does not, I found it on Docker Installation page.

There is quite literally nothing on the Docker installation page that says this.

If you scroll down on that page, there is a section about Docker Compose. It says to create docker-compose.yml file (why .yml and not .yaml) and it does not say where should I place that file.