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 --verbose 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/packages ./packages 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" ]