Commit | Line | Data |
---|---|---|
51022aa0 | 1 | FROM node:lts-alpine AS builder |
7dde0b73 | 2 | |
749d7230 | 3 | # Build simulator and dashboard |
67623aa6 | 4 | WORKDIR /usr/builder |
749d7230 | 5 | COPY . ./ |
0e306904 JB |
6 | RUN set -ex \ |
7 | && apk add --no-cache --virtual .gyp build-base python3 \ | |
881f450c | 8 | && corepack enable \ |
1a662d29 | 9 | && corepack prepare pnpm@latest --activate \ |
881f450c JB |
10 | && pnpm set progress=false \ |
11 | && pnpm config set depth 0 \ | |
d9d8bb32 | 12 | && pnpm install --ignore-scripts --frozen-lockfile \ |
749d7230 JB |
13 | && cp docker/config.json src/assets/config.json \ |
14 | && cp docker/idtags.json src/assets/idtags.json \ | |
c7f157db | 15 | && pnpm build \ |
749d7230 JB |
16 | && apk del .gyp \ |
17 | && cd ui/web \ | |
0d7042e2 | 18 | && cp src/assets/config-template.json public/config.json \ |
c7f157db | 19 | && pnpm build |
67623aa6 | 20 | |
396fa849 | 21 | FROM node:lts-alpine |
7dde0b73 | 22 | |
809e22c4 JB |
23 | ARG STACK_TRACE_LIMIT=1024 |
24 | ARG MAX_OLD_SPACE_SIZE=768 | |
525935a5 | 25 | |
72740232 | 26 | ENV NODE_OPTIONS="--stack-trace-limit=${STACK_TRACE_LIMIT} --max-old-space-size=${MAX_OLD_SPACE_SIZE}" |
525935a5 | 27 | |
17bfa1b6 | 28 | WORKDIR /usr/app |
749d7230 | 29 | COPY --from=builder /usr/builder/ui/web ./ui/web |
7dde0b73 | 30 | COPY --from=builder /usr/builder/node_modules ./node_modules |
396fa849 | 31 | COPY --from=builder /usr/builder/dist ./dist |
3dd8f3e4 | 32 | COPY package.json README.md LICENSE ./ |
67623aa6 | 33 | COPY docker/start.sh /start.sh |
7dde0b73 | 34 | COPY docker/autoconfig.sh /autoconfig.sh |
0e306904 JB |
35 | RUN set -ex \ |
36 | && chmod +x /start.sh \ | |
37 | && chmod +x /autoconfig.sh | |
7dde0b73 | 38 | |
67623aa6 | 39 | CMD /autoconfig.sh && /start.sh |