|
|
|
@ -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" |