FROM debian:stable ENV DEBIAN_FRONTEND noninteractive ARG DEVPKGS="git make cmake gcc g++ python-dev libsqlcipher-dev" RUN sed -i 's@deb.debian.org@apt-cache.lan/deb.debian.org@g' /etc/apt/sources.list && \ sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list && \ apt-get update && \ apt-get -y install ${DEVPKGS} python3-pip python3-torch python3-dateutil python3-filelock python3-tqdm python3-pyparsing python3-joblib \ python3-portalocker python3-click python3-packaging python3-regex python3-docopt python3-systemd \ libsystemd-dev graphicsmagick zip unzip bubblewrap sqlcipher gettext nodejs npm && \ pip3 install tensorboardX && \ pip3 install 'git+https://github.com/stanford-oval/genienlp@0969c6ea74376b20982c0c8bea9a4732547b15cb#egg=genienlp' && \ git clone --depth=1 --branch v1.99.0 https://github.com/stanford-oval/almond-cloud.git /opt/almond-cloud #setup RUN useradd -ms /bin/bash -r almond-cloud && id almond-cloud WORKDIR /opt/almond-cloud/ RUN chown -R almond-cloud:almond-cloud /opt/almond-cloud && \ echo "build_from_source = true" > ~almond-cloud/.npmrc && \ echo "sqlite = external" >> ~almond-cloud/.npmrc && \ echo "sqlite_libname = sqlcipher" >> ~almond-cloud/.npmrc && \ echo "======== package.json ============="; cat package.json && \ su almond-cloud -c 'CPLUS_INCLUDE_PATH=/usr/include/sqlcipher npm install' && \ chown -R root:root /opt/almond-cloud COPY --chown=almond-cloud:almond-cloud start.sh /opt/almond-cloud/ # CLeanup RUN apt-get remove -y --purge ${DEVPKGS} && \ apt-get autoremove --purge -y && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/apt/* /tmp/* /var/tmp/* /var/log/* /root/.cache USER almond-cloud WORKDIR /home/almond-cloud ENTRYPOINT ["/opt/almond-cloud/start.sh"]