29 lines
1.2 KiB
Docker
29 lines
1.2 KiB
Docker
# This Dockerfile should be built from the project root directory:
|
|
# docker build -f match_collector/Dockerfile -t buildpath-match_collector .
|
|
|
|
FROM node:current-alpine AS build
|
|
RUN mkdir -p /home/node/app && chown -R node:node /home/node/app
|
|
WORKDIR /home/node/app
|
|
|
|
# Copy and build dragon-item-parser first
|
|
COPY --chown=node:node dragon-item-parser/package*.json ./dragon-item-parser/
|
|
COPY --chown=node:node dragon-item-parser/tsconfig.json ./dragon-item-parser/
|
|
COPY --chown=node:node dragon-item-parser/src ./dragon-item-parser/src
|
|
WORKDIR /home/node/app/dragon-item-parser
|
|
RUN npm install && npm run build
|
|
|
|
# Build match_collector
|
|
WORKDIR /home/node/app
|
|
COPY --chown=node:node match_collector/package*.json ./match_collector/
|
|
WORKDIR /home/node/app/match_collector
|
|
RUN npm install
|
|
COPY --chown=node:node match_collector/. .
|
|
|
|
FROM node:current-alpine
|
|
RUN mkdir -p /home/node/app && chown -R node:node /home/node/app
|
|
WORKDIR /home/node/app
|
|
USER node
|
|
COPY --from=build --chown=node:node /home/node/app/match_collector/node_modules ./node_modules
|
|
COPY --from=build --chown=node:node /home/node/app/match_collector/. .
|
|
CMD ["/bin/sh", "-c", "node --import=tsx src/index.ts; sleep 20h"]
|