mirror of
https://github.com/aljazceru/addons.git
synced 2026-01-31 10:45:52 +01:00
* almond: update to version 3.0.0 * almond: bump to stable versions * Fix HA style * using more common paths * Remove note to ada * Apply suggestions from code review Co-authored-by: Franck Nijhof <git@frenck.dev> Co-authored-by: Giovanni Campagna <gcampagn@cs.stanford.edu> Co-authored-by: Franck Nijhof <git@frenck.dev>
124 lines
3.3 KiB
Docker
124 lines
3.3 KiB
Docker
ARG BUILD_FROM
|
|
FROM ${BUILD_FROM}
|
|
|
|
# Base env settings
|
|
ENV \
|
|
LANG="en_US.utf8" \
|
|
PULSE_SERVER=unix:/run/audio/pulse.sock \
|
|
THINGENGINE_HOME="/data/almond-server" \
|
|
THINGENGINE_HAS_REVERSE_PROXY=true \
|
|
THINGENGINE_HOST_BASED_AUTHENTICATION=insecure \
|
|
THINGENGINE_IN_HOME_ASSISTANT_ADDON=true
|
|
|
|
ARG \
|
|
BUILD_ARCH \
|
|
GENIE_CLIENT_VERSION \
|
|
GENIE_SERVER_VERSION
|
|
|
|
WORKDIR /usr/src
|
|
RUN \
|
|
set -x \
|
|
&& apt-get update \
|
|
# Install runtime dependencies
|
|
&& apt-get install -y --no-install-recommends \
|
|
wget \
|
|
curl \
|
|
gnupg \
|
|
pulseaudio \
|
|
pulseaudio-utils \
|
|
libpulse0 \
|
|
libpulse-mainloop-glib0 \
|
|
libasound2 \
|
|
libjson-glib-1.0-0 \
|
|
libevdev2 \
|
|
libsoup2.4-1 \
|
|
libspeexdsp1 \
|
|
libwebrtc-audio-processing1 \
|
|
sound-theme-freedesktop \
|
|
unzip \
|
|
coreutils \
|
|
ca-certificates \
|
|
zip \
|
|
nginx \
|
|
gstreamer1.0-plugins-base-apps \
|
|
gstreamer1.0-plugins-base \
|
|
gstreamer1.0-plugins-good \
|
|
gstreamer1.0-pulseaudio \
|
|
&& curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key \
|
|
| apt-key add - \
|
|
&& echo "deb https://deb.nodesource.com/node_12.x buster main" \
|
|
> /etc/apt/sources.list.d/nodesource.list \
|
|
\
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
nodejs \
|
|
\
|
|
# Install genie-client
|
|
&& apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
pkg-config \
|
|
ninja-build \
|
|
git \
|
|
meson \
|
|
python-dev \
|
|
gettext \
|
|
libgstreamer1.0-dev \
|
|
libasound2-dev \
|
|
libglib2.0-dev \
|
|
libjson-glib-dev \
|
|
libsoup2.4-dev \
|
|
libevdev-dev \
|
|
libpulse-dev \
|
|
libspeex-dev \
|
|
libspeexdsp-dev \
|
|
libwebrtc-audio-processing-dev \
|
|
&& git clone \
|
|
"https://github.com/stanford-oval/genie-client" \
|
|
&& cd genie-client \
|
|
&& git checkout ${GENIE_CLIENT_VERSION} \
|
|
&& git submodule init && git submodule update --recursive \
|
|
&& ./scripts/get-assets.sh ${BUILD_ARCH} \
|
|
&& meson build \
|
|
&& ninja -C build \
|
|
&& ninja -C build install \
|
|
\
|
|
# Install genie-server
|
|
&& mkdir /opt/genie-server \
|
|
&& cd /opt/genie-server \
|
|
&& apt-get install -y --no-install-recommends \
|
|
&& git clone -b ${GENIE_SERVER_VERSION} --depth 1 https://github.com/stanford-oval/genie-server /opt/genie-server \
|
|
&& npm config set unsafe-perm \
|
|
&& npm ci \
|
|
&& apt-get purge -y --auto-remove \
|
|
build-essential \
|
|
pkg-config \
|
|
git \
|
|
ninja-build \
|
|
meson \
|
|
python-dev \
|
|
libpulse-dev \
|
|
libgstreamer1.0-dev \
|
|
libasound2-dev \
|
|
libglib2.0-dev \
|
|
libjson-glib-dev \
|
|
libsoup2.4-dev \
|
|
libevdev-dev \
|
|
libspeex-dev \
|
|
libspeexdsp-dev \
|
|
libwebrtc-audio-processing-dev \
|
|
&& rm -rf \
|
|
/opt/genie-server/.[!.]* \
|
|
/root/.cache \
|
|
/root/.config \
|
|
/tmp/.[!.]* \
|
|
/tmp/* \
|
|
/usr/local/share/.cache \
|
|
/usr/local/share/.config \
|
|
/var/lib/apt/lists/* \
|
|
/usr/lib/nginx \
|
|
/var/www \
|
|
/usr/src/*
|
|
|
|
WORKDIR /
|
|
COPY rootfs /
|