FROM node:15-alpine

WORKDIR /app

COPY ./public /app/public
COPY ./src /app/src
COPY ./views /app/views
COPY ./package.json /app/package.json
COPY ./package-lock.json /app/package-lock.json
COPY ./tsconfig.json /app/tsconfig.json

RUN npm install && ./node_modules/.bin/tsc && rm -rf node_modules src tsconfig.json
ENV NODE_ENV=production
RUN npm install --only=production && rm -rf package-lock.json

ENTRYPOINT npm start
EXPOSE 3000