apolloapi-v2/Dockerfile
Michele Marcucci b112936b2b [WIP] install
2021-04-20 06:38:37 +02:00

49 lines
1.3 KiB
Docker

FROM ubuntu:20.04
# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get update
RUN apt-get -y upgrade
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install htop iputils-ping zip unzip whois traceroute vim openssh-server curl git libssl-dev libxslt-dev libxml2-dev imagemagick libmagickwand-dev libreadline-dev zlib1g-dev libsqlite3-dev libpq-dev build-essential libxml2-dev build-essential libxslt1-dev zlib1g-dev python-dev
# nvm environment variables
RUN mkdir -p /usr/local/nvm
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 14.16.1
# install nvm
# https://github.com/creationix/nvm#install-script
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
# install node and npm
RUN source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
RUN adduser --disabled-password app
RUN mkdir /app
RUN chown -R app /app
USER app
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
WORKDIR /app
RUN npm --version
RUN npm install yarn
COPY ./package.json /app/package.json
COPY ./yarn.lock /app/yarn.lock
RUN rm -rf /app/package-lock.json
RUN ./node_modules/.bin/yarn