network-resurrector/dockerfile

47 lines
974 B
Plaintext
Raw Normal View History

2020-12-26 02:27:53 +02:00
# build environment
FROM node:14-slim as builder
2020-12-26 02:27:53 +02:00
WORKDIR /app
# global args
ARG APP_SUBFOLDER=
2022-05-09 03:03:00 +03:00
COPY .npmrc .npmrc
2020-12-26 02:27:53 +02:00
COPY package*.json ./
RUN npm install
2022-05-09 03:03:00 +03:00
RUN rm -f .npmrc
2020-12-26 02:27:53 +02:00
COPY . ./
# set the PUBLIC_URL environment variable
ENV PUBLIC_URL /${APP_SUBFOLDER}/
# build the react app
# RUN npm run build
RUN if [ -z "$APP_SUBFOLDER" ]; then npm run build; else PUBLIC_URL=$PUBLIC_URL npm run build; fi
2020-12-26 02:27:53 +02:00
# production environment
FROM node:14-slim
2020-12-26 02:27:53 +02:00
RUN printf '\n\n- Copy application files\n'
COPY --from=builder /app/build ./application/${APP_SUBFOLDER}
COPY --from=builder /app/build/index.html ./application/
COPY --from=builder /app/setenv.js ./application/setenv.js
2020-12-26 02:27:53 +02:00
#install static server
RUN npm install -g serve
2022-12-29 22:47:15 +02:00
# environment variables
ENV AUTHOR="Tudor Stanciu"
ARG APP_VERSION=0.0.0
ENV APP_VERSION=${APP_VERSION}
2023-03-27 02:15:22 +03:00
ARG APP_DATE="-"
ENV APP_DATE=${APP_DATE}
2020-12-26 02:27:53 +02:00
#set workdir to root
WORKDIR /
EXPOSE 80
CMD ["sh", "-c", "node setenv.js && serve -s application -p 80"]