forked from acaldas/document-model-electron
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
39 lines (32 loc) · 1011 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
FROM node:lts-alpine AS builder
ARG BASE_PATH="/"
ENV BASE_PATH=${BASE_PATH}
ARG SENTRY_ORG=""
ENV SENTRY_ORG=${SENTRY_ORG}
ARG SENTRY_PROJECT=""
ENV SENTRY_PROJECT=${SENTRY_PROJECT}
ARG SENTRY_AUTH_TOKEN=""
ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
WORKDIR /opt/app
COPY . .
RUN npm install -g husky vite
RUN npm install --frozen-lockfile --force
RUN npm run build:web -- --base ${BASE_PATH}
# Production image, copy all the files and run next
FROM macbre/nginx-brotli:latest AS runner
ARG X_TAG
WORKDIR /opt/app
ENV NODE_ENV=production
ARG PORT=80
ENV PORT=${PORT}
ARG BASE_PATH="/"
ENV BASE_PATH=${BASE_PATH}
ARG PH_CONNECT_SENTRY_DSN=""
ENV PH_CONNECT_SENTRY_DSN=${PH_CONNECT_SENTRY_DSN}
ARG PH_CONNECT_SENTRY_ENV=""
ENV PH_CONNECT_SENTRY_ENV=${PH_CONNECT_SENTRY_ENV}
COPY --from=builder /opt/app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf.template
COPY nginx.sh /usr/share/nginx/nginx.sh
RUN chmod +x /usr/share/nginx/nginx.sh
ENTRYPOINT ["/usr/share/nginx/nginx.sh"]