mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
50 lines
1.1 KiB
Docker
50 lines
1.1 KiB
Docker
## base #############################################################################################
|
|
FROM node:18.20.3-alpine AS base
|
|
|
|
WORKDIR /app
|
|
|
|
COPY .yarn ./.yarn
|
|
COPY .yarnrc.yml yarn.lock ./packages/api/jest.config.js ./packages/api/tsconfig.json ./packages/api/package.json ./
|
|
RUN yarn install && yarn cache clean
|
|
|
|
|
|
## dev #############################################################################################
|
|
|
|
FROM base AS dev
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["yarn"]
|
|
CMD ["dev"]
|
|
|
|
|
|
## builder #########################################################################################
|
|
|
|
FROM base AS builder
|
|
|
|
COPY ./packages/api/src ./src
|
|
RUN yarn run build
|
|
|
|
|
|
## prod ############################################################################################
|
|
|
|
FROM node:18.20.3-alpine AS prod
|
|
|
|
ARG CODE_VERSION
|
|
|
|
ENV CODE_VERSION=$CODE_VERSION
|
|
|
|
ARG PORT
|
|
|
|
ENV PORT=$PORT
|
|
|
|
EXPOSE ${PORT}
|
|
|
|
USER node
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --chown=node:node --from=builder /app/build ./build
|
|
COPY --chown=node:node --from=base /app/node_modules ./node_modules
|
|
|
|
ENTRYPOINT ["node", "-r", "@hyperdx/node-opentelemetry/build/src/tracing", "./build/index.js"]
|