roles/homeassistant: Install in a virtualenv

Because the Home Assistant user's home directory is on `/var`, Python
packages installed in the "user site" do not get the correct SELinux
labels and thus run in the wrong domain.  This causes a lot of AVC
denials and other issues that prevent Home Assistant from working
correctly.

To resolve this issue, Home Assistant is now installed in a virtual
environment at `/usr/local/homeassistant`.  This directory is still
owned by the Home Assistant user, allowing Home Assistant to manage
packages installed there.  Since it is rooted under `/usr`, files are
labelled correctly and processes launched from executables there will
run in the correct domain.
This commit is contained in:
2020-07-04 13:53:55 -05:00
parent 0a3ff65a8c
commit b99c7aa27d
7 changed files with 56 additions and 4 deletions

View File

@@ -0,0 +1,12 @@
# These are required to build Python packages that do not have wheels
# on pypi.org for armv7hl
homeassistant_arch_system_deps:
- gcc
- gcc-c++
- libffi-devel
- libopenzwave-devel
- libudev-devel
- make
- openssl-devel
- python3-devel
- which

View File

@@ -0,0 +1 @@
homeassistant_arch_system_deps: []

View File

@@ -0,0 +1,2 @@
homeassistant_common_system_deps:
- python3-pip