# Dockerfile for Email Digest Cloud Run Job
FROM node:20-slim
WORKDIR /app
# Install pnpm
RUN npm install -g pnpm ts-node typescript
# Copy package files
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./
COPY packages/frontend/package.json ./packages/frontend/
COPY packages/design-system/package.json ./packages/design-system/
# Install dependencies
RUN pnpm install --frozen-lockfile
# Copy source code
COPY packages/frontend ./packages/frontend
COPY packages/design-system ./packages/design-system
COPY scripts/send-email-digests.ts ./scripts/
# Build the design system (required dependency)
RUN pnpm --filter @canadagpt/design-system build
# Make script executable
RUN chmod +x ./scripts/send-email-digests.ts
# Environment variables are set via Cloud Run configuration
# Required: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, RESEND_API_KEY
# The CMD will be overridden in Cloud Run job to specify daily or weekly
# Default to weekly if not specified
CMD ["ts-node", "./scripts/send-email-digests.ts", "weekly"]