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