Setting up Home Assistant in a virtual environment on Intel NUC (or any x86 machine)

Obviously now @flamingm0e and I have to collaborate on an article about setting up HA and other programs in Docker. This is great @void and I totally commend your effort (with one exception… why Ubuntu 17.10?? Should be 16.04 :wink:)! These are the type of tutorials that we need around to point new users to in a “Read this first” type of post.

1 Like

also no offense. i would consider myself as an “interested user” never as an expert…
no doubt, your expertise in linux is much better than mine.

getting behind the complexity of docker is surely an achievable task and is on my list…

however tend a lot of people to critize me about all this (not in this thread) and ask “why not using xyz, this and that, your are done in a minute…”

maybe I’m a bit thin-skinned right now… sorry for that.

1 Like

i was considering the LTS version but i want to test out netplan (new in 17.10) and go with the latest stable python3 version from the sources…

and I know myself, I won’t run this installation for 5 years :wink:

Have a look at my GitHub for details of much of it. The biggest pain would probably be the email processing chain and associated sensors.

And that is the thing that many people miss, and your initial post missed - it’s about what works for individuals. Choice is good :smiley:

Please do! The more “to the point” guides for people to follow there are, the better informed people can be.

1 Like

Sorry, I didn’t intend for my initial comment to sound like I was thinking there was only one correct way. I wanted to know the MOTIVATION to go the route of the python venv rather than the docker way…I haven’t seen anything yet that would compel me to go that route, so I only sort of understand why one would select that way (based on some edge cases pointed out to me).

I’ll turn it the other way around - what’s the motivation to go the Docker route :wink:

At this point the thread goes horribly off on a tangent, as we discuss relative skill levels in X, background, experience, etc etc etc. And that’s the key point, it’s about what people know, what they’re comfortable with, and what they want to use. You’re at home with Docker, so it’s a “no brainer” for you. Other people are at home on traditional installs, so Docker is a lot of work for them.

Think of it like being a mechanic who’s worked for 20 years only on diesel engines, and another who’s only worked on petrol engines. While they’ve got lots in common, if you’re picking one for your own kit car, you’ll pick the one you’re familiar and comfortable with. You’ll never get either of them to explain in a handful of words why they view the other option as inferior either.

3 Likes

It probably wouldn’t cross your mind on the surface, but when your obsession for HA grows and you really want the Z-wave thermostat to work…it’s critical to have access to change a few lines of code.

Not sure I understand what you are referring to here. I can change code on my setup with no issues…

Yes, you can change it in the container, only to be overwritten on the next update.

or put it in ‘custom_components’ in your config?

This thread provides more detail: GoControl GC-TBZ48 Z-Wave Thermostat - Can't control setpoints?

FYI: if you mount a volume on the host that stores source, in the path expected in the docker container, you can keep these settings.

Is there anywhere this is documented? I’m not super learned in Docker, but if this is written up somewhere I can probably figure it out.

1 Like

It’s just a simple “volume bind mount” in Docker. You’re passing a directory through from the host to a path inside the container. The container sees it as local disk, but it doesn’t get wiped out with a docker tear down

1 Like

Is there any way you can elaborate. I have the portainer addon but every time I add a volume or bind a mountpoint hassio refuses to play nice afterwards I’m no longer able to open the hassio tab even after a manual reboot . I’ve considered modifying the install script. Also I’m on Ubuntu using generic install method

Why are you using the hassio add-on when you can use docker directly and portainer on that?

The add-ons limit your flexibility when running on the generic Linux install

Well, for one; the add-ons make the update process more intuitive and consistent for me. I guess it comes down to laziness. Same reason I have a smart home automation turn on my lights for me when I could just walk over to the switch ever time I want them to turn on.

More to my point, The Portainer add-on exists for a reason. It has facilitated many of my other projects not directly really to hassio ( most not available as hassio add-ons) much much easier. I’m not extremely familiar with docker. But I’m learning.

The reason I asked this question here, is because I’m not able to find any direct information related specifically to home assistant or hassio in the docker documentation. Accomplishing this should be as simple as attaching a local volume to a mountpoint inside the container, or binding two mountpoints one on the local disk the other inside the container .

However as I mentioned in my first post, It doesn’t appear to be that simple, as all my previous attempts have failed.

I just need to get it right and something is preventing me from accomplishing this trivial task. My goal is to have home assistant be able to record my live streams to a location that I can have Plex (another program installed independently from hassio) host my recordings at.

I used motioneyeOS addon last year to accomplish something similar. But again why have unnecessary overhead of an additional addon do something that home assistant is directly capable of doing. Even with motioneye (addon) I still had the same limitation. I wasn’t able to host the recorded files onto a larger storage disc (multiple terabyte drive) rather than just onto the SSD where hassio runs on my Ubuntu installation.

You can run portainer OUTSIDE of hassio and it will work 100% with no limitations that hassio might be causing.

That was my point.

Correct. But here’s the catch.

Hassio is running the supervisor inside a docker container. You don’t see the host directories. Use portainer outside of hassio and you’ll see it will work just fine.

1 Like

First of all let me start by saying my apologies for any misunderstanding. I had a suspicion you were referring to using Fortuner as a native doctor app and not as a add-on. I did uncheck the check box beside hidden for the homeassistant , hassio and addon containers. I also ran add on with "hide_hassio_containers": false option. If that matters. I’ll try your suggestion of running it as a native doctor app. You have any more detailed instructions as to how best to modify the mount points?

It’s just standard docker stuff