-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
29 lines (26 loc) · 716 Bytes
/
Dockerfile
File metadata and controls
29 lines (26 loc) · 716 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
FROM node:20 AS base
ADD . /usr/local/src/juudge
WORKDIR /usr/local/src/juudge
RUN npm clean-install
FROM base AS build-prod
ARG VITE_BUILD_REF
ARG VITE_BUILD_DATE
ARG NODE_OPTIONS
COPY --from=base \
/usr/local/src/juudge \
/usr/local/src/juudge
WORKDIR /usr/local/src/juudge
RUN npm run build
FROM nginx:alpine as image-prod
COPY docker-resources/nginx-http.conf /etc/nginx/conf.d/default.conf
COPY docker-resources/entrypoint.sh /
COPY --from=build-prod \
/usr/local/src/juudge/package-lock.json \
/package-lock.json
COPY --from=build-prod \
/usr/local/src/juudge/dist/ \
/opt/juudge
ARG JUUDGE_API_URL=http://localhost:3000
EXPOSE 80
EXPOSE 443
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]