31 lines
740 B
Plaintext
31 lines
740 B
Plaintext
FROM node:14-alpine AS builder
|
|
|
|
WORKDIR /home/node/app
|
|
|
|
COPY ./web/package.json .
|
|
RUN npm install -g npm@latest
|
|
RUN npm install
|
|
|
|
COPY ./web .
|
|
|
|
# copy env file to set DOCKER_BUILD to true
|
|
RUN echo "DOCKER_BUILD=1" > .env
|
|
|
|
# modify index.html template to allow injection of js variables at runtime
|
|
RUN sed -i '/<\/head>/i <script src="\/env-config.js"><\/script>' src/index.template.html
|
|
RUN npm run build
|
|
|
|
FROM nginx:stable-alpine
|
|
|
|
ENV PUBLIC_DIR /usr/share/nginx/html
|
|
|
|
RUN apk add --no-cache bash
|
|
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
|
|
|
|
COPY --from=builder /home/node/app/dist/ ${PUBLIC_DIR}
|
|
|
|
COPY docker/containers/tactical-frontend/entrypoint.sh /docker-entrypoint.d/
|
|
RUN chmod +x /docker-entrypoint.d/entrypoint.sh
|
|
|
|
EXPOSE 80
|