diff --git a/install/rhasspy-install.sh b/install/rhasspy-install.sh index 91f2ac91..a9a1aec5 100644 --- a/install/rhasspy-install.sh +++ b/install/rhasspy-install.sh @@ -14,61 +14,59 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get -y install \ - libportaudio2 \ - libatlas3-base \ - libgfortran4 \ - ca-certificates \ - supervisor \ - mosquitto \ - perl \ - curl \ - sox \ - alsa-utils \ - libasound2-plugins \ - jq \ - espeak \ - flite \ - gstreamer1.0-tools \ - gstreamer1.0-plugins-good \ - libsndfile1 \ - libgomp1 \ - libatlas3-base \ - libgfortran4 \ - libopenblas-base \ - libjbig0 \ - liblcms2-2 \ - libopenjp2-7 \ - libtiff5 \ - libwebp6 \ - libwebpdemux2 \ - libwebpmux3 \ - libatomic1 \ - libspeex1 \ - libspeex-dev \ - libspeexdsp1 \ - libspeexdsp-dev +$STD apt-get install -y curl +$STD apt-get install -y sudo +$STD apt-get install -y mc msg_ok "Installed Dependencies" msg_info "Updating Python" $STD apt-get install -y \ python3 \ - libpython3.7 \ - python3-setuptools \ + python3-dev \ python3-pip \ - python3-distutils \ + python3-venv msg_ok "Updated Python" -LATEST=$(curl -sL https://api.github.com/repos/rhasspy/rhasspy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +get_latest_release() { + curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 +} + +DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") +RHASSPY_LATEST_VERSION=$(get_latest_release "rhasspy/rhasspy") + +msg_info "Installing Docker $DOCKER_LATEST_VERSION" +DOCKER_CONFIG_PATH='/etc/docker/daemon.json' +mkdir -p $(dirname $DOCKER_CONFIG_PATH) +if [ "$ST" == "yes" ]; then + VER=$(curl -s https://api.github.com/repos/containers/fuse-overlayfs/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + cd /usr/local/bin + curl -sSL -o fuse-overlayfs https://github.com/containers/fuse-overlayfs/releases/download/$VER/fuse-overlayfs-x86_64 + chmod 755 /usr/local/bin/fuse-overlayfs + cd ~ + echo -e '{\n "storage-driver": "fuse-overlayfs",\n "log-driver": "journald"\n}' >/etc/docker/daemon.json +else + echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json +fi +$STD sh <(curl -sSL https://get.docker.com) +msg_ok "Installed Docker $DOCKER_LATEST_VERSION" + +msg_info "Pulling Rhasspy $CORE_LATEST_VERSION Image" +$STD docker rhasspy/rhasspy:latest +msg_ok "Pulled Rhasspy $CORE_LATEST_VERSION Image" msg_info "Installing Rhasspy" -wget -q https://github.com/rhasspy/rhasspy/releases/download/${LATEST}/rhasspy_amd64.deb -# Switch out libgfortran5 for libgfortran4 dependency -dpkg-deb --extract rhasspy_amd64.deb tmp -dpkg-deb --control rhasspy_amd64.deb tmp/DEBIAN -sed -i 's/libgfortran4/libgfortran5/' ./tmp/DEBIAN/control -$STD dpkg --build tmp rhasspy_amd64.deb -$STD dpkg -i ./rhasspy_amd64.deb +$STD docker volume create rhasspy_profiles +$STD docker run -d \ + -p 12101:12101 \ + --name=rhasspy \ + --restart=always \ + -v "rhasspy_profiles:/profiles" \ + -v "/etc/localtime:/etc/localtime:ro" \ + --device /dev/snd:/dev/snd \ + rhasspy/rhasspy:latest \ + --user-profiles /profiles \ + --profile en +mkdir /root/rhasspy_profiles msg_ok "Installed Rhasspy" motd_ssh @@ -77,5 +75,4 @@ customize msg_info "Cleaning up" $STD apt-get autoremove $STD apt-get autoclean -rm rhasspy_amd64.deb msg_ok "Cleaned" \ No newline at end of file