Commit | Line | Data |
---|---|---|
396fa849 | 1 | FROM node:lts-alpine as builder |
7dde0b73 | 2 | |
67623aa6 JB |
3 | # Build simulator |
4 | WORKDIR /usr/builder | |
603f1011 | 5 | COPY .npmrc package.json pnpm-lock.yaml tsconfig.json rollup.config.mjs build-requirements.mjs skip-preinstall.cjs prepare.cjs ./ |
396fa849 JB |
6 | COPY src ./src |
7 | COPY docker/config.json ./src/assets/config.json | |
17bfa1b6 | 8 | COPY docker/authorization-tags.json ./src/assets/authorization-tags.json |
0e306904 JB |
9 | RUN set -ex \ |
10 | && apk add --no-cache --virtual .gyp build-base python3 \ | |
881f450c JB |
11 | && corepack enable \ |
12 | && pnpm set progress=false \ | |
13 | && pnpm config set depth 0 \ | |
14 | && pnpm install \ | |
15 | && pnpm run build \ | |
0e306904 | 16 | && apk del .gyp |
67623aa6 JB |
17 | |
18 | # Build simulator dashboard | |
19 | WORKDIR /usr/builder/webui | |
ebbfbf1c | 20 | COPY ui/web ./ |
0e306904 | 21 | RUN set -ex \ |
603f1011 JB |
22 | && corepack enable \ |
23 | && pnpm set progress=false \ | |
24 | && pnpm config set depth 0 \ | |
25 | && pnpm install \ | |
26 | && pnpm run build | |
67623aa6 | 27 | |
396fa849 | 28 | FROM node:lts-alpine |
7dde0b73 | 29 | |
809e22c4 JB |
30 | ARG STACK_TRACE_LIMIT=1024 |
31 | ARG MAX_OLD_SPACE_SIZE=768 | |
525935a5 | 32 | |
72740232 | 33 | ENV NODE_OPTIONS="--stack-trace-limit=${STACK_TRACE_LIMIT} --max-old-space-size=${MAX_OLD_SPACE_SIZE}" |
525935a5 | 34 | |
17bfa1b6 | 35 | WORKDIR /usr/app |
67623aa6 | 36 | COPY --from=builder /usr/builder/webui ./webui |
7dde0b73 | 37 | COPY --from=builder /usr/builder/node_modules ./node_modules |
396fa849 | 38 | COPY --from=builder /usr/builder/dist ./dist |
251fff5c | 39 | COPY README.md LICENSE ./ |
67623aa6 | 40 | COPY docker/start.sh /start.sh |
7dde0b73 | 41 | COPY docker/autoconfig.sh /autoconfig.sh |
0e306904 JB |
42 | RUN set -ex \ |
43 | && chmod +x /start.sh \ | |
44 | && chmod +x /autoconfig.sh | |
7dde0b73 | 45 | |
67623aa6 | 46 | CMD /autoconfig.sh && /start.sh |