# syntax=docker/dockerfile:1.4
# Fast app image — node_modules from deps base (custom/gereh-deps:1).
# Rebuild deps when yarn.lock changes:  docker build -f Dockerfile.deps -t custom/gereh-deps:1 .
ARG DEPS_IMAGE=custom/gereh-deps:1
FROM ${DEPS_IMAGE} AS builder

WORKDIR /home/node

COPY --chown=node:node . .

ARG BUILD_EXPIRE
ARG BUILD_DOMAIN
ARG REACT_APP_SKIP_API_KEY_2FA=
ARG REACT_APP_SENTRY_KEY=${REACT_APP_SENTRY_KEY:-"68c679b9cde2452db4d7ceb99b96e20d"}
ARG REACT_APP_SENTRY_ORGANIZATION=${REACT_APP_SENTRY_ORGANIZATION:-"o4504055431430144"}
ARG REACT_APP_SENTRY_PROJECT=${REACT_APP_SENTRY_PROJECT:-"4504055438311424"}

ENV REACT_APP_SENTRY_KEY=${REACT_APP_SENTRY_KEY}
ENV REACT_APP_SENTRY_ORGANIZATION=${REACT_APP_SENTRY_ORGANIZATION}
ENV REACT_APP_SENTRY_PROJECT=${REACT_APP_SENTRY_PROJECT}
ENV REACT_APP_SKIP_API_KEY_2FA=${REACT_APP_SKIP_API_KEY_2FA}
ENV BUILD_DOMAIN=${BUILD_DOMAIN}

USER node

RUN sed -i 's/\r$//' scripts/build.sh && bash scripts/build.sh

FROM nginx:mainline-alpine

COPY --from=builder /home/node/build /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 3000

HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
  CMD wget -q -O /dev/null http://127.0.0.1:3000/health || exit 1
