avicenna/service/data-hub/data-connector/Dockerfile

42 lines
1.3 KiB
Docker

FROM node:20.19.1-slim AS builder
WORKDIR /app/builder
COPY package*.json .
COPY packages/shared-dtos/package*.json ./packages/shared-dtos/
COPY data-hub/data-connector/package*.json ./data-hub/data-connector/
RUN npm ci
COPY packages/shared-dtos ./packages/shared-dtos/
COPY data-hub/data-connector ./data-hub/data-connector/
WORKDIR /app/builder/data-hub/data-connector
RUN npm run build
FROM node:20.15.1-alpine
# ENV OTEL_TRACES_EXPORTER="otlp"
# ENV OTEL_METRICS_EXPORTER="otlp"
# ENV OTEL_LOGS_EXPORTER="otlp"
# ENV NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
# To setup your own Service Instance ID
# ENV OTEL_RESOURCE_ATTRIBUTES="service.instance.id=avicenna.data-connector"
# ENV OTEL_NODE_RESOURCE_DETECTORS="env,host,os"
# To have a Service Instance ID generated using a random UUID
# Requires auto-instrumentations-node version 0.46.0+
# ENV OTEL_NODE_RESOURCE_DETECTORS="env,host,os,serviceinstance,container"
WORKDIR /app
COPY --from=builder /app/builder/node_modules ./node_modules
COPY --from=builder /app/builder/data-hub/data-connector/prisma ./prisma
COPY --from=builder /app/builder/data-hub/data-connector/dist ./dist
COPY --from=builder /app/builder/data-hub/data-connector/docker-entrypoint.sh .
ENTRYPOINT [ "./docker-entrypoint.sh" ]
CMD ["node", "./dist/src/main.js" ]