#!/bin/bash # Install requirements and build dependencies for Home Assistant in Docker. # Stop on errors set -e INSTALL_TELLSTICK="${INSTALL_TELLSTICK:-yes}" INSTALL_OPENALPR="${INSTALL_OPENALPR:-yes}" INSTALL_FFMPEG="${INSTALL_FFMPEG:-yes}" INSTALL_OPENZWAVE="${INSTALL_OPENZWAVE:-yes}" INSTALL_LIBCEC="${INSTALL_LIBCEC:-yes}" INSTALL_PHANTOMJS="${INSTALL_PHANTOMJS:-yes}" # 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 bluetooth libglib2.0-dev libbluetooth-dev # homeassistant.components.device_tracker.owntracks libsodium13 ) # Required debian packages for building dependencies PACKAGES_DEV=( cmake git # python-openzwave cython3 libudev-dev # libcec swig ) # Install packages apt-get update apt-get install -y --no-install-recommends ${PACKAGES[@]} ${PACKAGES_DEV[@]} if [ "$INSTALL_TELLSTICK" == "yes" ]; then virtualization/Docker/scripts/tellstick fi if [ "$INSTALL_OPENALPR" == "yes" ]; then virtualization/Docker/scripts/openalpr fi if [ "$INSTALL_FFMPEG" == "yes" ]; then virtualization/Docker/scripts/ffmpeg fi if [ "$INSTALL_OPENZWAVE" == "yes" ]; then virtualization/Docker/scripts/python_openzwave fi if [ "$INSTALL_LIBCEC" == "yes" ]; then virtualization/Docker/scripts/libcec fi if [ "$INSTALL_PHANTOMJS" == "yes" ]; then virtualization/Docker/scripts/phantomjs fi # Remove packages apt-get remove -y --purge ${PACKAGES_DEV[@]} apt-get -y --purge autoremove # Cleanup apt-get clean rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* build/