38 lines
1.8 KiB
Docker
38 lines
1.8 KiB
Docker
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"]
|