-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
44 lines (30 loc) · 1.06 KB
/
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
40
41
42
43
44
####################
FROM node:14.3.0 AS assets
WORKDIR /src
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm install
COPY rollup.config.js rollup.config.js
COPY tsconfig.json tsconfig.json
COPY assets assets
RUN npm run tsc && npm run build-js
COPY script/link-assets script/link-assets
RUN bash script/link-assets
####################
FROM ruby:2.7.1 AS data
RUN apt-get update && apt-get install -y curl ruby
WORKDIR /src
ARG CACHE_VERSION="{\"sources\": []}"
RUN echo $CACHE_VERSION > version
COPY script/get-data script/get-data
RUN script/get-data
COPY script/split-data script/split-data
RUN script/split-data --lax
####################
FROM nginx:1.19
COPY public /usr/share/nginx/html
COPY --from=assets /src/public /usr/share/nginx/html
COPY --from=data /src/public/data /usr/share/nginx/html/data
COPY --from=data /src/version /usr/share/nginx/html/data/version
COPY script/bust-js-cache /tmp/bust-js-cache
RUN bash /tmp/bust-js-cache /usr/share/nginx/html/index.html app.js