# syntax=docker/dockerfile:1

FROM node:20-alpine
RUN corepack enable && apk add --no-cache wget
WORKDIR /app

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
RUN pnpm install --frozen-lockfile

COPY . .
RUN pnpm db:generate

ENV NODE_ENV=production
ENV WORKER_HEALTH_PORT=8081

EXPOSE 8081

HEALTHCHECK --interval=15s --timeout=5s --start-period=20s --retries=3 \
  CMD wget -qO- http://127.0.0.1:8081/live || exit 1

CMD ["pnpm", "email:worker"]
