-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathDockerfile
More file actions
47 lines (35 loc) · 1.38 KB
/
Copy pathDockerfile
File metadata and controls
47 lines (35 loc) · 1.38 KB
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
45
46
47
# TODO freeze to 22 until tfjs#8425 is merged
FROM node:22 AS builder
RUN npm i -g pnpm@11.11.0
WORKDIR /disco
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY isomorphic-wrtc/package.json isomorphic-wrtc/
COPY discojs/package.json discojs/
COPY discojs-node/package.json discojs-node/
COPY server/package.json server/
RUN pnpm ci
COPY isomorphic-wrtc/ isomorphic-wrtc/
# Necessary for syncing workspace injected dependencies
RUN pnpm ci
COPY discojs/ discojs/
COPY discojs-node/ discojs-node/
COPY tsconfig.base.json .
COPY tsconfig.base.lib.json .
RUN pnpm -F discojs -F discojs-node run build
COPY server/ server/
RUN pnpm -F server run build
FROM node:22-slim AS runner
WORKDIR /disco
RUN npm i -g pnpm@11.11.0
COPY --link --from=builder /disco/package.json /disco/pnpm*.yaml /disco/
COPY --link --from=builder /disco/isomorphic-wrtc/package.json isomorphic-wrtc/
COPY --link --from=builder /disco/discojs/package.json discojs/
COPY --link --from=builder /disco/discojs-node/package.json discojs-node/
COPY --link --from=builder /disco/server/package.json server/
RUN pnpm --prod ci
COPY --link --from=builder /disco/isomorphic-wrtc/ isomorphic-wrtc/
COPY --link --from=builder /disco/discojs/dist/ discojs/dist/
COPY --link --from=builder /disco/discojs-node/dist/ discojs-node/dist/
COPY --link --from=builder /disco/server/dist/ server/dist/
WORKDIR server
CMD ["node", "dist/main.js"]