Add Mailpit email transport

This commit is contained in:
2026-08-17 16:35:14 -04:00
parent 67ab6b78bd
commit 1853eaa963
23 changed files with 567 additions and 148 deletions
+16 -2
View File
@@ -9,7 +9,13 @@ COPY apps/web/package.json apps/web/package.json
COPY apps/worker/package.json apps/worker/package.json
COPY apps/mobile/package.json apps/mobile/package.json
COPY packages/domain/package.json packages/domain/package.json
RUN bun install --frozen-lockfile --filter @beenvoice/web
COPY packages/email/package.json packages/email/package.json
RUN --mount=type=cache,target=/root/.bun/install/cache,sharing=locked \
for attempt in 1 2 3; do \
bun install --frozen-lockfile --filter @beenvoice/web && exit 0; \
echo "Bun install failed (attempt ${attempt}/3); retrying" >&2; \
done; \
exit 1
FROM base AS worker-install
COPY package.json bun.lock ./
@@ -17,7 +23,13 @@ COPY apps/web/package.json apps/web/package.json
COPY apps/worker/package.json apps/worker/package.json
COPY apps/mobile/package.json apps/mobile/package.json
COPY packages/domain/package.json packages/domain/package.json
RUN bun install --frozen-lockfile --filter @beenvoice/worker
COPY packages/email/package.json packages/email/package.json
RUN --mount=type=cache,target=/root/.bun/install/cache,sharing=locked \
for attempt in 1 2 3; do \
bun install --frozen-lockfile --filter @beenvoice/worker && exit 0; \
echo "Bun install failed (attempt ${attempt}/3); retrying" >&2; \
done; \
exit 1
# Next's production build runs under Node because Bun can fail during the
# page-data worker phase on Linux arm64. Dependencies still come from Bun.
@@ -52,6 +64,7 @@ COPY --from=install /app/apps/web/node_modules ./apps/web/node_modules
COPY --from=build /app/package.json ./package.json
COPY --from=build /app/apps/web/package.json ./apps/web/package.json
COPY --from=build /app/packages/domain ./packages/domain
COPY --from=build /app/packages/email ./packages/email
COPY --from=build /app/apps/web/.next ./apps/web/.next
COPY --from=build /app/apps/web/public ./apps/web/public
COPY --from=build /app/apps/web/drizzle.config.ts ./apps/web/drizzle.config.ts
@@ -74,6 +87,7 @@ COPY apps/web/src ./apps/web/src
COPY apps/web/tsconfig.json ./apps/web/tsconfig.json
COPY apps/worker ./apps/worker
COPY packages/domain ./packages/domain
COPY packages/email ./packages/email
RUN ln -s ../worker/node_modules apps/web/node_modules
USER bun