2017-02-01 04:02:06 +01:00
|
|
|
#!/bin/bash
|
2017-03-04 12:39:25 -08:00
|
|
|
# Install requirements and build dependencies for Home Assistant in Docker.
|
2017-02-01 04:02:06 +01:00
|
|
|
|
|
|
|
# Stop on errors
|
|
|
|
set -e
|
|
|
|
|
|
|
|
INSTALL_TELLSTICK="${INSTALL_TELLSTICK:-yes}"
|
|
|
|
INSTALL_OPENALPR="${INSTALL_OPENALPR:-yes}"
|
|
|
|
INSTALL_LIBCEC="${INSTALL_LIBCEC:-yes}"
|
2017-06-15 23:31:30 -04:00
|
|
|
INSTALL_SSOCR="${INSTALL_SSOCR:-yes}"
|
2018-10-25 16:56:10 -04:00
|
|
|
INSTALL_DLIB="${INSTALL_DLIB:-yes}"
|
2017-02-01 04:02:06 +01:00
|
|
|
|
|
|
|
# Required debian packages for running hass or components
|
|
|
|
PACKAGES=(
|
|
|
|
# build-essential is required for python pillow module on non-x86_64 arch
|
|
|
|
build-essential
|
|
|
|
# homeassistant.components.image_processing.openalpr_local
|
|
|
|
libxrandr-dev
|
|
|
|
# homeassistant.components.device_tracker.nmap_tracker
|
|
|
|
nmap net-tools libcurl3-dev
|
|
|
|
# homeassistant.components.device_tracker.bluetooth_tracker
|
2017-06-23 22:33:33 -07:00
|
|
|
bluetooth libglib2.0-dev libbluetooth-dev
|
2017-02-14 08:59:09 +01:00
|
|
|
# homeassistant.components.device_tracker.owntracks
|
2018-05-25 11:32:45 -04:00
|
|
|
libsodium18
|
2017-05-05 17:57:14 -04:00
|
|
|
# homeassistant.components.zwave
|
|
|
|
libudev-dev
|
2018-05-02 16:28:43 -04:00
|
|
|
# homeassistant.components.homekit_controller
|
|
|
|
libmpc-dev libmpfr-dev libgmp-dev
|
2018-05-28 16:17:01 +02:00
|
|
|
# homeassistant.components.ffmpeg
|
|
|
|
ffmpeg
|
|
|
|
# homeassistant.components.sensor.iperf3
|
|
|
|
iperf3
|
2017-02-01 04:02:06 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
# Required debian packages for building dependencies
|
|
|
|
PACKAGES_DEV=(
|
2017-06-30 17:07:33 +02:00
|
|
|
cmake
|
|
|
|
git
|
2017-02-01 04:02:06 +01:00
|
|
|
swig
|
|
|
|
)
|
|
|
|
|
|
|
|
# Install packages
|
|
|
|
apt-get update
|
|
|
|
apt-get install -y --no-install-recommends ${PACKAGES[@]} ${PACKAGES_DEV[@]}
|
|
|
|
|
2018-05-28 16:17:01 +02:00
|
|
|
# This is a list of scripts that install additional dependencies. If you only
|
|
|
|
# need to install a package from the official debian repository, just add it
|
|
|
|
# to the list above. Only create a script if you need compiling, manually
|
2018-07-01 22:02:09 -07:00
|
|
|
# downloading or a 3rd party repository.
|
2017-02-01 04:02:06 +01:00
|
|
|
if [ "$INSTALL_TELLSTICK" == "yes" ]; then
|
|
|
|
virtualization/Docker/scripts/tellstick
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$INSTALL_OPENALPR" == "yes" ]; then
|
|
|
|
virtualization/Docker/scripts/openalpr
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$INSTALL_LIBCEC" == "yes" ]; then
|
|
|
|
virtualization/Docker/scripts/libcec
|
|
|
|
fi
|
|
|
|
|
2017-06-15 23:31:30 -04:00
|
|
|
if [ "$INSTALL_SSOCR" == "yes" ]; then
|
|
|
|
virtualization/Docker/scripts/ssocr
|
|
|
|
fi
|
|
|
|
|
2018-10-25 16:56:10 -04:00
|
|
|
if [ "$INSTALL_DLIB" == "yes" ]; then
|
|
|
|
pip3 install --no-cache-dir "dlib>=19.5"
|
|
|
|
fi
|
|
|
|
|
2017-02-01 04:02:06 +01:00
|
|
|
# Remove packages
|
|
|
|
apt-get remove -y --purge ${PACKAGES_DEV[@]}
|
|
|
|
apt-get -y --purge autoremove
|
|
|
|
|
|
|
|
# Cleanup
|
|
|
|
apt-get clean
|
2017-06-30 17:07:33 +02:00
|
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/src/app/build/
|