mirror of
https://github.com/Retropex/apolloapi-v2.git
synced 2025-05-28 13:02:35 +02:00
49 lines
1.3 KiB
Docker
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 |