-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
30 lines (21 loc) · 791 Bytes
/
Dockerfile
File metadata and controls
30 lines (21 loc) · 791 Bytes
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
FROM node:alpine AS build
WORKDIR /app
# bcrypt depends on node-pre-gyp
RUN apk add --no-cache --virtual .gyp python3 make g++
COPY --chown=node:node package.json yarn.lock ./
RUN yarn install
COPY --chown=node:node entrypoint.sh /app
COPY --chown=node:node backend/ /app/backend/
COPY --chown=node:node frontend/ /app/frontend/
ENV NODE_OPTIONS=--openssl-legacy-provider
RUN yarn backend::build && \
API_BASE_URL=/api yarn frontend::build && \
mv backend/dist/ tmp && rm -rf backend/ && mv tmp backend && \
mv frontend/dist/ tmp && rm -rf frontend/ && mv tmp frontend
RUN yarn install --production
FROM node:alpine
WORKDIR /app
USER node:node
COPY --from=build --chown=node:node /app /app
ENV HTTP_PUBLIC_DIRECTORY=/app/frontend
CMD [ "/bin/sh", "/app/entrypoint.sh" ]